UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

131 lines (129 loc) 6.03 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { WebContents } 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 { IBackupMainService } from '../../backup/electron-main/backup.mjs'; import { IConfigurationService } from '../../configuration/common/configuration.mjs'; import { IDialogMainService } from '../../dialogs/electron-main/dialogMainService.mjs'; import { IEnvironmentMainService } from '../../environment/electron-main/environmentMainService.mjs'; import { IFileService } from '../../files/common/files.mjs'; import { IInstantiationService } from '../../instantiation/common/instantiation.mjs'; import { ILifecycleMainService } from '../../lifecycle/electron-main/lifecycleMainService.mjs'; import { ILogService } from '../../log/common/log.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IProtocolMainService } from '../../protocol/electron-main/protocol.mjs'; import { IStateMainService } from '../../state/electron-main/state.mjs'; import { IOpenEmptyWindowOptions } from '../../window/common/window.mjs'; import { IOpenConfiguration, IOpenEmptyConfiguration, IWindowsCountChangedEvent, IWindowsMainService, } from './windows.mjs'; import { IWorkspacesHistoryMainService } from '../../workspaces/electron-main/workspacesHistoryMainService.mjs'; import { IWorkspacesManagementMainService } from '../../workspaces/electron-main/workspacesManagementMainService.mjs'; import { ICodeWindow } from '../../window/electron-main/window.mjs'; import { IThemeMainService } from '../../theme/electron-main/themeMainService.mjs'; import { IPolicyService } from '../../policy/common/policy.mjs'; import { IUserDataProfilesMainService } from '../../userDataProfile/electron-main/userDataProfile.mjs'; export declare class WindowsMainService extends Disposable implements IWindowsMainService { private readonly machineId; private readonly initialUserEnv; private readonly logService; private readonly stateMainService; private readonly policyService; private readonly environmentMainService; private readonly userDataProfilesMainService; private readonly lifecycleMainService; private readonly backupMainService; private readonly configurationService; private readonly workspacesHistoryMainService; private readonly workspacesManagementMainService; private readonly instantiationService; private readonly dialogMainService; private readonly fileService; private readonly productService; private readonly protocolMainService; private readonly themeMainService; readonly _serviceBrand: undefined; private static readonly WINDOWS; private readonly _onDidOpenWindow; readonly onDidOpenWindow: Event<ICodeWindow>; private readonly _onDidSignalReadyWindow; readonly onDidSignalReadyWindow: Event<ICodeWindow>; private readonly _onDidDestroyWindow; readonly onDidDestroyWindow: Event<ICodeWindow>; private readonly _onDidChangeWindowsCount; readonly onDidChangeWindowsCount: Event<IWindowsCountChangedEvent>; private readonly _onDidTriggerSystemContextMenu; readonly onDidTriggerSystemContextMenu: Event<{ window: ICodeWindow; x: number; y: number; }>; private readonly windowsStateHandler; constructor( machineId: string, initialUserEnv: IProcessEnvironment, logService: ILogService, stateMainService: IStateMainService, policyService: IPolicyService, environmentMainService: IEnvironmentMainService, userDataProfilesMainService: IUserDataProfilesMainService, lifecycleMainService: ILifecycleMainService, backupMainService: IBackupMainService, configurationService: IConfigurationService, workspacesHistoryMainService: IWorkspacesHistoryMainService, workspacesManagementMainService: IWorkspacesManagementMainService, instantiationService: IInstantiationService, dialogMainService: IDialogMainService, fileService: IFileService, productService: IProductService, protocolMainService: IProtocolMainService, themeMainService: IThemeMainService, ); private registerListeners; openEmptyWindow(openConfig: IOpenEmptyConfiguration, options?: IOpenEmptyWindowOptions): Promise<ICodeWindow[]>; openExistingWindow(window: ICodeWindow, openConfig: IOpenConfiguration): void; open(openConfig: IOpenConfiguration): Promise<ICodeWindow[]>; private handleWaitMarkerFile; private doOpen; private doOpenFilesInExistingWindow; private doAddFoldersToExistingWindow; private doOpenEmpty; private doOpenFolderOrWorkspace; private getPathsToOpen; private doExtractPathsFromAPI; private doExtractPathsFromCLI; private cliArgToUri; private doGetPathsFromLastSession; private getRestoreWindowsSetting; private resolveOpenable; private doResolveRemoteOpenable; private resourceFromOpenable; private doResolveFilePath; private doResolveRemotePath; private shouldOpenNewWindow; openExtensionDevelopmentHostWindow( extensionDevelopmentPaths: string[], openConfig: IOpenConfiguration, ): Promise<ICodeWindow[]>; private openInBrowserWindow; private doOpenInBrowserWindow; private resolveProfileForBrowserWindow; private onWindowClosed; getFocusedWindow(): ICodeWindow | undefined; getLastActiveWindow(): ICodeWindow | undefined; private getLastActiveWindowForAuthority; private doGetLastActiveWindow; sendToFocused(channel: string, ...args: any[]): void; sendToAll(channel: string, payload?: any, windowIdsToIgnore?: number[]): void; getWindows(): ICodeWindow[]; getWindowCount(): number; getWindowById(windowId: number): ICodeWindow | undefined; getWindowByWebContents(webContents: WebContents): ICodeWindow | undefined; }