UNPKG

@sussudio/platform

Version:

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

45 lines (43 loc) 2.17 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IStorage } from '@sussudio/base/parts/storage/common/storage.mjs'; import { IEnvironmentService } from '../../environment/common/environment.mjs'; import { IMainProcessService } from '../../ipc/electron-sandbox/services.mjs'; import { AbstractStorageService, StorageScope } from '../common/storage.mjs'; import { IUserDataProfile } from '../../userDataProfile/common/userDataProfile.mjs'; import { IAnyWorkspaceIdentifier } from '../../workspace/common/workspace.mjs'; export declare class NativeStorageService extends AbstractStorageService { private readonly initialWorkspace; private readonly initialProfiles; private readonly mainProcessService; private readonly environmentService; private readonly applicationStorageProfile; private readonly applicationStorage; private profileStorageProfile; private readonly profileStorageDisposables; private profileStorage; private workspaceStorageId; private readonly workspaceStorageDisposables; private workspaceStorage; constructor( initialWorkspace: IAnyWorkspaceIdentifier | undefined, initialProfiles: { defaultProfile: IUserDataProfile; currentProfile: IUserDataProfile; }, mainProcessService: IMainProcessService, environmentService: IEnvironmentService, ); private createApplicationStorage; private createProfileStorage; private createWorkspaceStorage; protected doInitialize(): Promise<void>; protected getStorage(scope: StorageScope): IStorage | undefined; protected getLogDetails(scope: StorageScope): string | undefined; close(): Promise<void>; protected switchToProfile(toProfile: IUserDataProfile, preserveData: boolean): Promise<void>; protected switchToWorkspace(toWorkspace: IAnyWorkspaceIdentifier, preserveData: boolean): Promise<void>; hasScope(scope: IAnyWorkspaceIdentifier | IUserDataProfile): boolean; }