ipc: extensions service

This commit is contained in:
Joao Moreno
2016-04-21 10:32:52 +02:00
parent 33c6e037ff
commit bf44647213
4 changed files with 86 additions and 12 deletions

View File

@@ -6,10 +6,7 @@
'use strict';
import nls = require('vs/nls');
import pfs = require('vs/base/node/pfs');
import URI from 'vs/base/common/uri';
import {TPromise} from 'vs/base/common/winjs.base';
import paths = require('vs/base/common/paths');
@@ -29,8 +26,8 @@ import {BaseWorkspaceContextService} from 'vs/platform/workspace/common/baseWork
import {ExtensionScanner, MessagesCollector} from 'vs/workbench/node/extensionPoints';
import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
import {Client} from 'vs/base/parts/ipc/node/ipc.net';
import {IExtensionsChannel, ExtensionsChannelClient} from 'vs/workbench/parts/extensions/common/extensionsIpc';
import {IExtensionsService} from 'vs/workbench/parts/extensions/common/extensions';
import {ExtensionsService} from 'vs/workbench/parts/extensions/node/extensionsService';
const DIRNAME = URI.parse(require.toUrl('./')).fsPath;
const BASE_PATH = paths.normalize(paths.join(DIRNAME, '../../../..'));
@@ -66,7 +63,11 @@ export function createServices(remoteCom: IMainProcessExtHostIPC, initData: IIni
services.set(ITelemetryService, telemetryService);
services.set(IThreadService, threadService);
services.set(IExtensionService, new ExtHostExtensionService(threadService, telemetryService));
services.set(IExtensionsService, sharedProcessClient.getChannel<IExtensionsService>('ExtensionService', ExtensionsService)); // Connect to shared process services
// Connect to shared process services
const channel = sharedProcessClient.getChannel<IExtensionsChannel>('extensions');
const extensionsService = new ExtensionsChannelClient(channel);
services.set(IExtensionsService, extensionsService);
let instantiationService = new InstantiationService(services);
threadService.setInstantiationService(instantiationService);