Use native storage service

This commit is contained in:
Sandeep Somavarapu
2020-01-22 09:55:03 +01:00
parent a66950889a
commit 6f388fe4c3
3 changed files with 20 additions and 31 deletions

View File

@@ -63,7 +63,8 @@ import { UserDataAutoSync } from 'vs/platform/userDataSync/electron-browser/user
import { SettingsSynchroniser } from 'vs/platform/userDataSync/common/settingsSync';
import { UserDataAuthTokenService } from 'vs/platform/userDataSync/common/userDataAuthTokenService';
import { GlobalStorageDatabaseChannelClient } from 'vs/platform/storage/node/storageIpc';
import { IStorageMainService, SimpleStorageMainService } from 'vs/platform/storage/node/storageMainService';
import { NativeStorageService } from 'vs/platform/storage/node/storageService';
import { IStorageService } from 'vs/platform/storage/common/storage';
export interface ISharedProcessConfiguration {
readonly machineId: string;
@@ -115,10 +116,18 @@ async function main(server: Server, initData: ISharedProcessInitData, configurat
disposables.add(logService);
logService.info('main', JSON.stringify(configuration));
const mainProcessService = new MainProcessService(server, mainRouter);
services.set(IMainProcessService, mainProcessService);
const configurationService = new ConfigurationService(environmentService.settingsResource);
disposables.add(configurationService);
await configurationService.initialize();
const storageService = new NativeStorageService(new GlobalStorageDatabaseChannelClient(mainProcessService.getChannel('storage')), logService, environmentService);
await storageService.initialize();
services.set(IStorageService, storageService);
disposables.add(toDisposable(() => storageService.flush()));
services.set(IEnvironmentService, environmentService);
services.set(IProductService, { _serviceBrand: undefined, ...product });
services.set(ILogService, logService);
@@ -126,12 +135,6 @@ async function main(server: Server, initData: ISharedProcessInitData, configurat
services.set(IRequestService, new SyncDescriptor(RequestService));
services.set(ILoggerService, new SyncDescriptor(LoggerService));
const mainProcessService = new MainProcessService(server, mainRouter);
services.set(IMainProcessService, mainProcessService);
const storageMainService = new SimpleStorageMainService(new GlobalStorageDatabaseChannelClient(mainProcessService.getChannel('storage')));
await storageMainService.initialize();
services.set(IStorageMainService, storageMainService);
const electronService = createChannelSender<IElectronService>(mainProcessService.getChannel('electron'), { context: configuration.windowId });
services.set(IElectronService, electronService);