/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IServerChannel } from 'vs/base/parts/ipc/common/ipc'; import { Event } from 'vs/base/common/event'; import { IIssueService } from 'vs/platform/issue/common/issue'; export class IssueChannel implements IServerChannel { constructor(private service: IIssueService) { } listen(_, event: string): Event { throw new Error(`Event not found: ${event}`); } call(_, command: string, arg?: any): Promise { switch (command) { case 'openIssueReporter': return this.service.openReporter(arg); case 'openProcessExplorer': return this.service.openProcessExplorer(arg); } throw new Error(`Call not found: ${command}`); } }