shellDBus: Add new 'ExtensionStateChanged' signal

The existing 'ExtensionStatusChanged' signal has a fixed set of parameters,
which means we cannot add additional state without an API break.  Deprecate
it in favor of a new 'ExtensionStateChanged' signal which addresses this
issue by taking the full serialized extension as parameter.

https://bugzilla.gnome.org/show_bug.cgi?id=789852
This commit is contained in:
Florian Müllner
2019-07-08 12:21:10 +02:00
committed by Florian Müllner
parent 58806359ee
commit 32e0b895a4
4 changed files with 16 additions and 4 deletions

View File

@ -159,15 +159,14 @@ var ExtensionManager = class {
let message = `${error}`;
extension.error = message;
extension.state = ExtensionState.ERROR;
if (!extension.errors)
extension.errors = [];
extension.errors.push(message);
log('Extension "%s" had error: %s'.format(uuid, message));
this.emit('extension-state-changed', { uuid: uuid,
error: message,
state: extension.state });
this.emit('extension-state-changed', extension);
}
loadExtension(extension) {