X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fxds%2Fxds-agent.git;a=blobdiff_plain;f=webapp%2Fsrc%2Fapp%2F%40core-xds%2Fservices%2Fxdsagent.service.ts;h=033185b90e80e4e439c8eaa0db24cf523e76f46e;hp=27e14cfa9c9e8add797d629d60f74a131ff818f1;hb=facf3f10b243d027cc2a28661fe1cd8d4253dafa;hpb=6d17c864bad066fbb5400733dcaf918253f5973b diff --git a/webapp/src/app/@core-xds/services/xdsagent.service.ts b/webapp/src/app/@core-xds/services/xdsagent.service.ts index 27e14cf..033185b 100644 --- a/webapp/src/app/@core-xds/services/xdsagent.service.ts +++ b/webapp/src/app/@core-xds/services/xdsagent.service.ts @@ -133,8 +133,10 @@ export class XDSAgentService { protected projectDel$ = new Subject(); protected projectChange$ = new Subject(); - protected sdkInstall$ = new Subject(); - protected sdkRemove$ = new Subject(); + protected sdkAdd$ = new Subject(); + protected sdkRemove$ = new Subject(); + protected sdkChange$ = new Subject(); + protected sdkManagement$ = new Subject(); private baseUrl: string; private wsUrl: string; @@ -249,6 +251,8 @@ export class XDSAgentService { } }); + /*** Project events ****/ + this.socket.on('event:project-add', (ev) => { if (ev && ev.data && ev.data.id) { this.projectAdd$.next(Object.assign({}, ev.data)); @@ -280,32 +284,59 @@ export class XDSAgentService { } }); - this.socket.on('event:sdk-install', (ev) => { - if (ev && ev.data && ev.data.sdk) { - const evt = ev.data; - this.sdkInstall$.next(Object.assign({}, evt)); + /*** SDK Events ***/ - if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && evt.sdk.name) { - this.alert.info('SDK "' + evt.sdk.name + '" has been installed by another tool.'); + this.socket.on('event:sdk-add', (ev) => { + if (ev && ev.data && ev.data.id) { + const evt = ev.data; + this.sdkAdd$.next(Object.assign({}, evt)); + + if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && evt.name) { + this.alert.info('SDK "' + evt.name + '" has been added by another tool.'); } } else if (isDevMode) { - /* tslint:disable:no-console */ - console.log('Warning: received event:sdk-install with unknown data: ev=', ev); + console.log('Warning: received event:sdk-add with unknown data: ev=', ev); } }); this.socket.on('event:sdk-remove', (ev) => { + if (ev && ev.data && ev.data.id) { + const evt = ev.data; + this.sdkRemove$.next(Object.assign({}, evt)); + + if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && evt.name) { + this.alert.info('SDK "' + evt.name + '" has been removed by another tool.'); + } + } else if (isDevMode) { + console.log('Warning: received event:sdk-remove with unknown data: ev=', ev); + } + }); + + this.socket.on('event:sdk-state-change', (ev) => { + if (ev && ev.data && ev.data.id) { + const evt = ev.data; + this.sdkChange$.next(Object.assign({}, evt)); + + } else if (isDevMode) { + console.log('Warning: received event:sdk-state-change with unknown data: ev=', ev); + } + }); + + + this.socket.on('event:sdk-management', (ev) => { if (ev && ev.data && ev.data.sdk) { const evt = ev.data; - this.sdkRemove$.next(Object.assign({}, evt)); + this.sdkManagement$.next(Object.assign({}, evt)); if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && evt.sdk.name) { - this.alert.info('SDK "' + evt.sdk.name + '" has been removed by another tool.'); + this.alert.info('SDK "' + evt.sdk.name + '" has been installed by another tool.'); } } else if (isDevMode) { - console.log('Warning: received event:sdk-remove with unknown data: ev=', ev); + /* tslint:disable:no-console */ + console.log('Warning: received event:sdk-install with unknown data: ev=', ev); } }); + } /** @@ -323,14 +354,22 @@ export class XDSAgentService { return this.projectChange$.asObservable(); } - onSdkInstall(): Observable { - return this.sdkInstall$.asObservable(); + onSdkAdd(): Observable { + return this.sdkAdd$.asObservable(); } - onSdkRemove(): Observable { + onSdkRemove(): Observable { return this.sdkRemove$.asObservable(); } + onSdkChange(): Observable { + return this.sdkChange$.asObservable(); + } + + onSdkManagement(): Observable { + return this.sdkManagement$.asObservable(); + } + /** ** Misc / Version ***/