+ /*** Target events ****/
+
+ this._socket.on('event:target-add', (ev) => {
+ if (ev && ev.data && ev.data.id) {
+ this.targetAdd$.next(Object.assign({}, ev.data));
+ if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && ev.data.label) {
+ this.alert.info('Target "' + ev.data.label + '" has been added by another tool.');
+ }
+ } else if (isDevMode) {
+ /* tslint:disable:no-console */
+ console.log('Warning: received event:target-add with unknown data: ev=', ev);
+ }
+ });
+
+ this._socket.on('event:target-remove', (ev) => {
+ if (ev && ev.data && ev.data.id) {
+ this.targetDel$.next(Object.assign({}, ev.data));
+ if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && ev.data.label) {
+ this.alert.info('Target "' + ev.data.label + '" has been deleted by another tool.');
+ }
+ } else if (isDevMode) {
+ console.log('Warning: received event:target-remove with unknown data: ev=', ev);
+ }
+ });
+
+ this._socket.on('event:target-state-change', ev => {
+ if (ev && ev.data) {
+ this.targetChange$.next(Object.assign({}, ev.data));
+ } else if (isDevMode) {
+ console.log('Warning: received event:target-state-change with unknown data: ev=', ev);
+ }
+ });
+
+ /*** Target Terminal events ****/
+
+ this._socket.on('event:target-terminal-add', (ev) => {
+ if (ev && ev.data && ev.data.id) {
+ this.targetTerminalAdd$.next(Object.assign({}, ev.data));
+ if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && ev.data.label) {
+ this.alert.info('Target terminal "' + ev.data.label + '" has been added by another tool.');
+ }
+ } else if (isDevMode) {
+ /* tslint:disable:no-console */
+ console.log('Warning: received event:target-terminal-add with unknown data: ev=', ev);
+ }
+ });
+
+ this._socket.on('event:target-terminal-delete', (ev) => {
+ if (ev && ev.data && ev.data.id) {
+ this.targetTerminalDel$.next(Object.assign({}, ev.data));
+ if (ev.sessionID !== '' && ev.sessionID !== this.httpSessionID && ev.data.label) {
+ this.alert.info('Target terminal "' + ev.data.label + '" has been deleted by another tool.');
+ }
+ } else if (isDevMode) {
+ console.log('Warning: received event:target-terminal-delete with unknown data: ev=', ev);
+ }
+ });
+
+ this._socket.on('event:target-terminal-state-change', ev => {
+ if (ev && ev.data) {
+ this.targetTerminalChange$.next(Object.assign({}, ev.data));
+ } else if (isDevMode) {
+ console.log('Warning: received event:target-terminal-state-change with unknown data: ev=', ev);
+ }
+ });
+