UNPKG

@sussudio/platform

Version:

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

56 lines (54 loc) 2.44 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 '@sussudio/base/common/event.mjs'; import { Disposable } from '@sussudio/base/common/lifecycle.mjs'; import { URI, UriDto } from '@sussudio/base/common/uri.mjs'; import { IEnvironmentService } from '../../environment/common/environment.mjs'; import { IMainProcessService } from '../../ipc/electron-sandbox/services.mjs'; import { DidChangeProfilesEvent, IUserDataProfile, IUserDataProfileOptions, IUserDataProfilesService, IUserDataProfileUpdateOptions, } from '../common/userDataProfile.mjs'; import { IAnyWorkspaceIdentifier } from '../../workspace/common/workspace.mjs'; export declare class UserDataProfilesNativeService extends Disposable implements IUserDataProfilesService { readonly _serviceBrand: undefined; private readonly channel; readonly profilesHome: URI; get defaultProfile(): IUserDataProfile; private _profiles; get profiles(): IUserDataProfile[]; private readonly _onDidChangeProfiles; readonly onDidChangeProfiles: Event<DidChangeProfilesEvent>; readonly onDidResetWorkspaces: Event<void>; private enabled; constructor( profiles: readonly UriDto<IUserDataProfile>[], mainProcessService: IMainProcessService, environmentService: IEnvironmentService, ); setEnablement(enabled: boolean): void; isEnabled(): boolean; createNamedProfile( name: string, options?: IUserDataProfileOptions, workspaceIdentifier?: IAnyWorkspaceIdentifier, ): Promise<IUserDataProfile>; createProfile( id: string, name: string, options?: IUserDataProfileOptions, workspaceIdentifier?: IAnyWorkspaceIdentifier, ): Promise<IUserDataProfile>; createTransientProfile(workspaceIdentifier?: IAnyWorkspaceIdentifier): Promise<IUserDataProfile>; setProfileForWorkspace(workspaceIdentifier: IAnyWorkspaceIdentifier, profile: IUserDataProfile): Promise<void>; removeProfile(profile: IUserDataProfile): Promise<void>; updateProfile(profile: IUserDataProfile, updateOptions: IUserDataProfileUpdateOptions): Promise<IUserDataProfile>; resetWorkspaces(): Promise<void>; cleanUp(): Promise<void>; cleanUpTransientProfiles(): Promise<void>; }