SQL Operations Studio Public Preview 1 (0.23) release source code

This commit is contained in:
Karl Burtram
2017-11-09 14:30:27 -08:00
parent b88ecb8d93
commit 3cdac41339
8829 changed files with 759707 additions and 286 deletions

View File

@@ -0,0 +1,55 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import Event, { Emitter } from 'vs/base/common/event';
import { ipcRenderer as ipc } from 'electron';
export const IBroadcastService = createDecorator<IBroadcastService>('broadcastService');
export interface IBroadcast {
channel: string;
payload: any;
}
export interface IBroadcastService {
_serviceBrand: any;
broadcast(b: IBroadcast): void;
onBroadcast: Event<IBroadcast>;
}
export class BroadcastService implements IBroadcastService {
public _serviceBrand: any;
private _onBroadcast: Emitter<IBroadcast>;
constructor(private windowId: number) {
this._onBroadcast = new Emitter<IBroadcast>();
this.registerListeners();
}
private registerListeners(): void {
ipc.on('vscode:broadcast', (event, b: IBroadcast) => {
this._onBroadcast.fire(b);
});
}
public get onBroadcast(): Event<IBroadcast> {
return this._onBroadcast.event;
}
public broadcast(b: IBroadcast): void {
ipc.send('vscode:broadcast', this.windowId, {
channel: b.channel,
payload: b.payload
});
}
}