This commit is contained in:
Sandeep Somavarapu
2018-07-09 15:10:15 +02:00
parent 9b876381cb
commit e89b02b448
2 changed files with 10 additions and 5 deletions

View File

@@ -43,6 +43,7 @@ import { LocalizationsChannel } from 'vs/platform/localizations/common/localizat
import { DialogChannelClient } from 'vs/platform/dialogs/common/dialogIpc';
import { IDialogService } from 'vs/platform/dialogs/common/dialogs';
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { DefaultURITransformer } from 'vs/base/common/uriIpc';
export interface ISharedProcessConfiguration {
readonly machineId: string;
@@ -134,7 +135,7 @@ function main(server: Server, initData: ISharedProcessInitData, configuration: I
instantiationService2.invokeFunction(accessor => {
const extensionManagementService = accessor.get(IExtensionManagementService);
const channel = new ExtensionManagementChannel(extensionManagementService);
const channel = new ExtensionManagementChannel(extensionManagementService, DefaultURITransformer);
server.registerChannel('extensions', channel);
// clean up deprecated extensions

View File

@@ -33,7 +33,7 @@ export class ExtensionManagementChannel implements IExtensionManagementChannel {
onUninstallExtension: Event<IExtensionIdentifier>;
onDidUninstallExtension: Event<DidUninstallExtensionEvent>;
constructor(private service: IExtensionManagementService) {
constructor(private service: IExtensionManagementService, private uriTransformer: IURITransformer) {
this.onInstallExtension = buffer(service.onInstallExtension, true);
this.onDidInstallExtension = buffer(service.onDidInstallExtension, true);
this.onUninstallExtension = buffer(service.onUninstallExtension, true);
@@ -55,15 +55,19 @@ export class ExtensionManagementChannel implements IExtensionManagementChannel {
switch (command) {
case 'install': return this.service.install(args[0]);
case 'installFromGallery': return this.service.installFromGallery(args[0]);
case 'uninstall': return this.service.uninstall(args[0], args[1]);
case 'reinstallFromGallery': return this.service.reinstallFromGallery(args[0]);
case 'uninstall': return this.service.uninstall(this._transform(args[0]), args[1]);
case 'reinstallFromGallery': return this.service.reinstallFromGallery(this._transform(args[0]));
case 'getInstalled': return this.service.getInstalled(args[0]);
case 'updateMetadata': return this.service.updateMetadata(args[0], args[1]);
case 'updateMetadata': return this.service.updateMetadata(this._transform(args[0]), args[1]);
case 'getExtensionsReport': return this.service.getExtensionsReport();
}
throw new Error('Invalid call');
}
private _transform(extension: ILocalExtension): ILocalExtension {
return extension ? { ...extension, ...{ location: URI.revive(this.uriTransformer.transformIncoming(extension.location)) } } : extension;
}
}
export class ExtensionManagementChannelClient implements IExtensionManagementService {