mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-02 22:41:31 +01:00
Introduce id and user data sync store registry
This commit is contained in:
@@ -22,9 +22,10 @@ export class MainThreadUserData extends Disposable implements MainThreadUserData
|
||||
this._register(toDisposable(() => this.userDataSyncStoreService.deregisterUserDataSyncStore()));
|
||||
}
|
||||
|
||||
$registerUserDataProvider(name: string): void {
|
||||
$registerUserDataProvider(id: string, name: string): void {
|
||||
const proxy = this.proxy;
|
||||
this.userDataSyncStoreService.registerUserDataSyncStore({
|
||||
id,
|
||||
name,
|
||||
read(key: string): Promise<IUserData | null> {
|
||||
return proxy.$read(key);
|
||||
|
||||
@@ -546,9 +546,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
createInputBox(): vscode.InputBox {
|
||||
return extHostQuickOpen.createInputBox(extension.identifier);
|
||||
},
|
||||
registerUserDataSyncProvider: (identity: string, userDataProvider: vscode.UserDataSyncProvider): vscode.Disposable => {
|
||||
registerUserDataSyncProvider: (name: string, userDataProvider: vscode.UserDataSyncProvider): vscode.Disposable => {
|
||||
checkProposedApiEnabled(extension);
|
||||
return extHostUserData.registerUserDataProvider(identity, userDataProvider);
|
||||
return extHostUserData.registerUserDataProvider(extension.identifier.value, name, userDataProvider);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ export interface MainThreadConfigurationShape extends IDisposable {
|
||||
}
|
||||
|
||||
export interface MainThreadUserDataShape extends IDisposable {
|
||||
$registerUserDataProvider(name: string): void;
|
||||
$registerUserDataProvider(id: string, name: string): void;
|
||||
$deregisterUserDataProvider(): void;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,14 +20,14 @@ export class ExtHostUserData implements ExtHostUserDataShape {
|
||||
) {
|
||||
}
|
||||
|
||||
registerUserDataProvider(name: string, userDataProvider: vscode.UserDataSyncProvider): vscode.Disposable {
|
||||
registerUserDataProvider(id: string, name: string, userDataProvider: vscode.UserDataSyncProvider): vscode.Disposable {
|
||||
if (this.userDataProvider) {
|
||||
this.logService.warn(`A user data provider '${this.name}' already exists hence ignoring the remote user data provider '${name}'.`);
|
||||
return Disposable.None;
|
||||
}
|
||||
this.userDataProvider = userDataProvider;
|
||||
this.name = name;
|
||||
this.proxy.$registerUserDataProvider(name);
|
||||
this.proxy.$registerUserDataProvider(id, name);
|
||||
return toDisposable(() => this.proxy.$deregisterUserDataProvider());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user