@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
40 lines (38 loc) • 1.9 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Event } from '@sussudio/base/common/event.mjs';
import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { IChannel, IServerChannel } from '@sussudio/base/parts/ipc/common/ipc.mjs';
import {
IAttachSessionEvent,
ICloseSessionEvent,
IExtensionHostDebugService,
IOpenExtensionWindowResult,
IReloadSessionEvent,
ITerminateSessionEvent,
} from './extensionHostDebug.mjs';
export declare class ExtensionHostDebugBroadcastChannel<TContext> implements IServerChannel<TContext> {
static readonly ChannelName = 'extensionhostdebugservice';
private readonly _onCloseEmitter;
private readonly _onReloadEmitter;
private readonly _onTerminateEmitter;
private readonly _onAttachEmitter;
call(ctx: TContext, command: string, arg?: any): Promise<any>;
listen(ctx: TContext, event: string, arg?: any): Event<any>;
}
export declare class ExtensionHostDebugChannelClient extends Disposable implements IExtensionHostDebugService {
private channel;
readonly _serviceBrand: undefined;
constructor(channel: IChannel);
reload(sessionId: string): void;
get onReload(): Event<IReloadSessionEvent>;
close(sessionId: string): void;
get onClose(): Event<ICloseSessionEvent>;
attachSession(sessionId: string, port: number, subId?: string): void;
get onAttachSession(): Event<IAttachSessionEvent>;
terminateSession(sessionId: string, subId?: string): void;
get onTerminateSession(): Event<ITerminateSessionEvent>;
openExtensionDevelopmentHostWindow(args: string[], debugRenderer: boolean): Promise<IOpenExtensionWindowResult>;
}