@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
56 lines (54 loc) • 2.44 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* 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>;
}