@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
65 lines (63 loc) • 2.97 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 { IEnvironmentService } from '../../environment/common/environment.mjs';
import { IFileService } from '../../files/common/files.mjs';
import { IProductService } from '../../product/common/productService.mjs';
import { IStorageService } from '../../storage/common/storage.mjs';
import { IUserDataManifest, IUserDataSyncLogService, IUserDataSyncStoreService } from './userDataSync.mjs';
interface IMachineData {
id: string;
name: string;
disabled?: boolean;
platform?: string;
}
export type IUserDataSyncMachine = Readonly<IMachineData> & {
readonly isCurrent: boolean;
};
export declare const IUserDataSyncMachinesService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IUserDataSyncMachinesService>;
export interface IUserDataSyncMachinesService {
_serviceBrand: any;
readonly onDidChange: Event<void>;
getMachines(manifest?: IUserDataManifest): Promise<IUserDataSyncMachine[]>;
addCurrentMachine(manifest?: IUserDataManifest): Promise<void>;
removeCurrentMachine(manifest?: IUserDataManifest): Promise<void>;
renameMachine(machineId: string, name: string): Promise<void>;
setEnablements(enbalements: [string, boolean][]): Promise<void>;
}
export declare function isWebPlatform(platform: string): boolean;
export declare class UserDataSyncMachinesService extends Disposable implements IUserDataSyncMachinesService {
private readonly storageService;
private readonly userDataSyncStoreService;
private readonly logService;
private readonly productService;
private static readonly VERSION;
private static readonly RESOURCE;
_serviceBrand: any;
private readonly _onDidChange;
readonly onDidChange: Event<void>;
private readonly currentMachineIdPromise;
private userData;
constructor(
environmentService: IEnvironmentService,
fileService: IFileService,
storageService: IStorageService,
userDataSyncStoreService: IUserDataSyncStoreService,
logService: IUserDataSyncLogService,
productService: IProductService,
);
getMachines(manifest?: IUserDataManifest): Promise<IUserDataSyncMachine[]>;
addCurrentMachine(manifest?: IUserDataManifest): Promise<void>;
removeCurrentMachine(manifest?: IUserDataManifest): Promise<void>;
renameMachine(machineId: string, name: string, manifest?: IUserDataManifest): Promise<void>;
setEnablements(enablements: [string, boolean][]): Promise<void>;
private computeCurrentMachineName;
private readMachinesData;
private writeMachinesData;
private readUserData;
private parse;
}
export {};