terminalProcessExtHostProxy.ts 1.5 KB
Newer Older
1 2 3 4 5
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

6
import { ITerminalChildProcess, IMessageToTerminalProcess, IMessageFromTerminalProcess } from 'vs/workbench/parts/terminal/node/terminal';
7
import { EventEmitter } from 'events';
8
import { ITerminalService, ITerminalProcessExtHostProxy } from 'vs/workbench/parts/terminal/common/terminal';
9

10
export class TerminalProcessExtHostProxy extends EventEmitter implements ITerminalChildProcess, ITerminalProcessExtHostProxy {
11 12
	public connected: boolean;

13 14 15
	constructor(
		@ITerminalService private _terminalService: ITerminalService
	) {
16 17
		super();

18 19
		this._terminalService.requestExtHostProcess(this).then(() => {
		});
20 21
	}

22
	public emitData(data: string): void {
D
Daniel Imms 已提交
23 24
		this.emit('message', { type: 'data', content: data } as IMessageFromTerminalProcess);
	}
25 26
	public emitTitle(title: string): void {
		this.emit('message', { type: 'title', content: title } as IMessageFromTerminalProcess);
D
Daniel Imms 已提交
27
	}
28 29
	public emitPid(pid: number): void {
		this.emit('message', { type: 'pid', content: pid } as IMessageFromTerminalProcess);
D
Daniel Imms 已提交
30 31
	}

32 33 34 35 36
	public send(message: IMessageToTerminalProcess): boolean {
		console.log('TerminalProcessExtHostBridge#send', arguments);
		return true;
	}
}