/*--------------------------------------------------------------------------------------------- * 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'; export const ISharedProcessMainService = createDecorator('sharedProcessMainService'); export interface ISharedProcessMainService { readonly _serviceBrand: undefined; whenSharedProcessReady(): Promise; toggleSharedProcessWindow(): Promise; } export interface ISharedProcess { whenReady(): Promise; toggle(): void; } export class SharedProcessMainService implements ISharedProcessMainService { declare readonly _serviceBrand: undefined; constructor(private sharedProcess: ISharedProcess) { } whenSharedProcessReady(): Promise { return this.sharedProcess.whenReady(); } async toggleSharedProcessWindow(): Promise { return this.sharedProcess.toggle(); } }