@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
45 lines (43 loc) • 2.17 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 { 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;
}