UNPKG

sussudio

Version:

An unofficial VS Code Internal API

33 lines (32 loc) 1.64 kB
/*--------------------------------------------------------------------------------------------- * 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 "../../../base/common/event.mjs"; import { Disposable } from "../../../base/common/lifecycle.mjs"; import { ILogService } from "../../log/common/log.mjs"; export declare const ISharedProcessLifecycleService: import("../../instantiation/common/instantiation.mjs").ServiceIdentifier<ISharedProcessLifecycleService>; export interface ISharedProcessLifecycleService { readonly _serviceBrand: undefined; /** * An event that fires after after no window has vetoed the shutdown sequence. At * this point listeners are ensured that the application will quit without veto. */ readonly onWillShutdown: Event<ShutdownEvent>; } export interface ShutdownEvent { /** * Allows to join the shutdown. The promise can be a long running operation but it * will block the application from closing. */ join(promise: Promise<void>): void; } export declare class SharedProcessLifecycleService extends Disposable implements ISharedProcessLifecycleService { private readonly logService; readonly _serviceBrand: undefined; private pendingWillShutdownPromise; private readonly _onWillShutdown; readonly onWillShutdown: Event<ShutdownEvent>; constructor(logService: ILogService); fireOnWillShutdown(): Promise<void>; }