diff --git a/src/vs/workbench/api/electron-browser/mainThreadConsole.ts b/src/vs/workbench/api/electron-browser/mainThreadConsole.ts index cc545e4f6175a8e3d9ba570d14112e8e7d4db918..516a418a75e0f8bf3cbddf608c3d4e14d89138d5 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadConsole.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadConsole.ts @@ -9,7 +9,7 @@ import { IEnvironmentService } from 'vs/platform/environment/common/environment' import { IRemoteConsoleLog, log, parse } from 'vs/base/node/console'; import { parseExtensionDevOptions } from 'vs/workbench/services/extensions/electron-browser/extensionHost'; import { IWindowsService } from 'vs/platform/windows/common/windows'; -import { IBroadcastService } from 'vs/workbench/services/broadcast/electron-browser/broadcastService'; +import { IBroadcastService } from 'vs/workbench/services/broadcast/common/broadcast'; import { EXTENSION_LOG_BROADCAST_CHANNEL } from 'vs/platform/extensions/common/extensionHost'; @extHostNamedCustomer(MainContext.MainThreadConsole) diff --git a/src/vs/workbench/contrib/debug/electron-browser/debugService.ts b/src/vs/workbench/contrib/debug/electron-browser/debugService.ts index 5e9ed4025b3ce2bedcb42b1c01a7fd150a855253..9099481254d43934496a4f72096d9ce5129d008b 100644 --- a/src/vs/workbench/contrib/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/contrib/debug/electron-browser/debugService.ts @@ -34,7 +34,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur import { IWorkspaceContextService, WorkbenchState, IWorkspaceFolder } from 'vs/platform/workspace/common/workspace'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { EXTENSION_LOG_BROADCAST_CHANNEL, EXTENSION_ATTACH_BROADCAST_CHANNEL, EXTENSION_TERMINATE_BROADCAST_CHANNEL, EXTENSION_RELOAD_BROADCAST_CHANNEL, EXTENSION_CLOSE_EXTHOST_BROADCAST_CHANNEL } from 'vs/platform/extensions/common/extensionHost'; -import { IBroadcastService } from 'vs/workbench/services/broadcast/electron-browser/broadcastService'; +import { IBroadcastService } from 'vs/workbench/services/broadcast/common/broadcast'; import { IRemoteConsoleLog, parse, getFirstFrame } from 'vs/base/node/console'; import { TaskEvent, TaskEventKind, TaskIdentifier } from 'vs/workbench/contrib/tasks/common/tasks'; import { IDialogService } from 'vs/platform/dialogs/common/dialogs'; diff --git a/src/vs/workbench/contrib/splash/electron-browser/partsSplash.contribution.ts b/src/vs/workbench/contrib/splash/electron-browser/partsSplash.contribution.ts index 581be97aab9f476460f19c6d5cfe4193f3e3b2a7..7b6ebb3ab022d729b1d364194e70dfb21433d28f 100644 --- a/src/vs/workbench/contrib/splash/electron-browser/partsSplash.contribution.ts +++ b/src/vs/workbench/contrib/splash/electron-browser/partsSplash.contribution.ts @@ -9,7 +9,7 @@ import { getTotalHeight, getTotalWidth } from 'vs/base/browser/dom'; import { Color } from 'vs/base/common/color'; import { Event } from 'vs/base/common/event'; import { dispose, IDisposable } from 'vs/base/common/lifecycle'; -import { IBroadcastService } from 'vs/workbench/services/broadcast/electron-browser/broadcastService'; +import { IBroadcastService } from 'vs/workbench/services/broadcast/common/broadcast'; import { ILifecycleService, LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; import { Registry } from 'vs/platform/registry/common/platform'; import { ColorIdentifier, editorBackground, foreground } from 'vs/platform/theme/common/colorRegistry'; diff --git a/src/vs/workbench/services/broadcast/common/broadcast.ts b/src/vs/workbench/services/broadcast/common/broadcast.ts new file mode 100644 index 0000000000000000000000000000000000000000..fc9e13031b6961d194617fd4e8d46bd345bf1fcb --- /dev/null +++ b/src/vs/workbench/services/broadcast/common/broadcast.ts @@ -0,0 +1,30 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +import { Event } from 'vs/base/common/event'; + +export const IBroadcastService = createDecorator('broadcastService'); + +export interface IBroadcast { + channel: string; + payload: any; +} + +export interface IBroadcastService { + _serviceBrand: any; + + onBroadcast: Event; + + broadcast(b: IBroadcast): void; +} + +export class NullBroadcastService implements IBroadcastService { + _serviceBrand: any; + onBroadcast: Event = Event.None; + broadcast(_b: IBroadcast): void { + + } +} diff --git a/src/vs/workbench/services/broadcast/electron-browser/broadcastService.ts b/src/vs/workbench/services/broadcast/electron-browser/broadcastService.ts index 8c1b3c9f6aa8ca0ec869ef9b39e65f8c129b2104..5ab6a67f8648d2fff90e27c5bd8cd42252dc483e 100644 --- a/src/vs/workbench/services/broadcast/electron-browser/broadcastService.ts +++ b/src/vs/workbench/services/broadcast/electron-browser/broadcastService.ts @@ -3,28 +3,13 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { Event, Emitter } from 'vs/base/common/event'; import { ipcRenderer as ipc } from 'electron'; import { ILogService } from 'vs/platform/log/common/log'; import { Disposable } from 'vs/base/common/lifecycle'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { IWindowService } from 'vs/platform/windows/common/windows'; - -export const IBroadcastService = createDecorator('broadcastService'); - -export interface IBroadcast { - channel: string; - payload: any; -} - -export interface IBroadcastService { - _serviceBrand: any; - - onBroadcast: Event; - - broadcast(b: IBroadcast): void; -} +import { IBroadcastService, IBroadcast } from 'vs/workbench/services/broadcast/common/broadcast'; export class BroadcastService extends Disposable implements IBroadcastService { _serviceBrand: any; @@ -63,4 +48,4 @@ export class BroadcastService extends Disposable implements IBroadcastService { } } -registerSingleton(IBroadcastService, BroadcastService, true); \ No newline at end of file +registerSingleton(IBroadcastService, BroadcastService, true); diff --git a/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts b/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts index 25ba9182a662d23ad41581c2cdc0600670dc307f..02de32cfbb55e00cd359a5487128e8aa0195d34e 100644 --- a/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts +++ b/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts @@ -21,7 +21,7 @@ import { IRemoteConsoleLog, log, parse } from 'vs/base/node/console'; import { findFreePort, randomPort } from 'vs/base/node/ports'; import { IMessagePassingProtocol } from 'vs/base/parts/ipc/node/ipc'; import { PersistentProtocol, generateRandomPipeName } from 'vs/base/parts/ipc/node/ipc.net'; -import { IBroadcast, IBroadcastService } from 'vs/workbench/services/broadcast/electron-browser/broadcastService'; +import { IBroadcast, IBroadcastService } from 'vs/workbench/services/broadcast/common/broadcast'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { EXTENSION_ATTACH_BROADCAST_CHANNEL, EXTENSION_CLOSE_EXTHOST_BROADCAST_CHANNEL, EXTENSION_LOG_BROADCAST_CHANNEL, EXTENSION_RELOAD_BROADCAST_CHANNEL, EXTENSION_TERMINATE_BROADCAST_CHANNEL } from 'vs/platform/extensions/common/extensionHost'; import { ILabelService } from 'vs/platform/label/common/label'; diff --git a/src/vs/workbench/workbench.nodeless.main.ts b/src/vs/workbench/workbench.nodeless.main.ts index e37d652609559c15cb1258c6ba7fd1c915ed2c90..b4b78c538f3c0f4184ef6e5e1965d72242166575 100644 --- a/src/vs/workbench/workbench.nodeless.main.ts +++ b/src/vs/workbench/workbench.nodeless.main.ts @@ -94,6 +94,7 @@ import { ContextViewService } from 'vs/platform/contextview/browser/contextViewS // import { IURLService } from 'vs/platform/url/common/url'; // import { RelayURLService } from 'vs/platform/url/electron-browser/urlService'; import { IHeapService, NullHeapService } from 'vs/workbench/services/heap/common/heap'; +import { IBroadcastService, NullBroadcastService } from 'vs/workbench/services/broadcast/common/broadcast'; import 'vs/workbench/browser/nodeless.simpleservices'; @@ -169,6 +170,7 @@ registerSingleton(IContextViewService, ContextViewService, true); // registerSingleton(IMenubarService, MenubarService); // registerSingleton(IURLService, RelayURLService); registerSingleton(IHeapService, NullHeapService); +registerSingleton(IBroadcastService, NullBroadcastService); registerSingleton(IContextMenuService, ContextMenuService);