@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
69 lines (67 loc) • 2.72 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 { MessagePortMain } from 'electron';
import { Event } from '@sussudio/base/common/event.mjs';
import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { IProcessEnvironment } from '@sussudio/base/common/platform.mjs';
import { IEnvironmentMainService } from '../../environment/electron-main/environmentMainService.mjs';
import { ILifecycleMainService } from '../../lifecycle/electron-main/lifecycleMainService.mjs';
import { ILogService } from '../../log/common/log.mjs';
import { IProtocolMainService } from '../../protocol/electron-main/protocol.mjs';
import { ISharedProcess } from '../node/sharedProcess.mjs';
import { IThemeMainService } from '../../theme/electron-main/themeMainService.mjs';
import { WindowError } from '../../window/electron-main/window.mjs';
import { IUserDataProfilesService } from '../../userDataProfile/common/userDataProfile.mjs';
import { IPolicyService } from '../../policy/common/policy.mjs';
export declare class SharedProcess extends Disposable implements ISharedProcess {
private readonly machineId;
private userEnv;
private readonly environmentMainService;
private readonly userDataProfilesService;
private readonly lifecycleMainService;
private readonly logService;
private readonly policyService;
private readonly themeMainService;
private readonly protocolMainService;
private readonly firstWindowConnectionBarrier;
private window;
private windowCloseListener;
private readonly _onDidError;
readonly onDidError: Event<{
type: WindowError;
details?:
| {
reason: string;
exitCode: number;
}
| undefined;
}>;
constructor(
machineId: string,
userEnv: IProcessEnvironment,
environmentMainService: IEnvironmentMainService,
userDataProfilesService: IUserDataProfilesService,
lifecycleMainService: ILifecycleMainService,
logService: ILogService,
policyService: IPolicyService,
themeMainService: IThemeMainService,
protocolMainService: IProtocolMainService,
);
private registerListeners;
private onWindowConnection;
private onWorkerConnection;
private onWillShutdown;
private send;
private _whenReady;
whenReady(): Promise<void>;
private _whenIpcReady;
private get whenIpcReady();
private createWindow;
private registerWindowListeners;
connect(): Promise<MessagePortMain>;
toggle(): Promise<void>;
isVisible(): boolean;
private isAlive;
}