/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { MessageBoxOptions, MessageBoxReturnValue, OpenDevToolsOptions, SaveDialogOptions, OpenDialogOptions, OpenDialogReturnValue, SaveDialogReturnValue } from 'electron'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { INativeOpenDialogOptions } from 'vs/platform/windows/common/windows'; export const IElectronService = createDecorator('electronService'); export interface IElectronService { _serviceBrand: undefined; // Window windowCount(): Promise; openEmptyWindow(options?: { reuse?: boolean }): Promise; toggleFullScreen(): Promise; // Dialogs showMessageBox(options: MessageBoxOptions): Promise; showSaveDialog(options: SaveDialogOptions): Promise; showOpenDialog(options: OpenDialogOptions): Promise; pickFileFolderAndOpen(options: INativeOpenDialogOptions): Promise; pickFileAndOpen(options: INativeOpenDialogOptions): Promise; pickFolderAndOpen(options: INativeOpenDialogOptions): Promise; pickWorkspaceAndOpen(options: INativeOpenDialogOptions): Promise; // OS showItemInFolder(path: string): Promise; // Lifecycle relaunch(options?: { addArgs?: string[], removeArgs?: string[] }): Promise; reload(): Promise; // Development openDevTools(options?: OpenDevToolsOptions): Promise; toggleDevTools(): Promise; // Connectivity resolveProxy(url: string): Promise; }