sussudio
Version:
An unofficial VS Code Internal API
23 lines (22 loc) • 1.06 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { VSBuffer } from "../../../common/buffer.mjs";
import { Event } from "../../../common/event.mjs";
import { IMessagePassingProtocol } from "./ipc.mjs";
export interface Sender {
send(channel: string, msg: unknown): void;
}
/**
* The Electron `Protocol` leverages Electron style IPC communication (`ipcRenderer`, `ipcMain`)
* for the implementation of the `IMessagePassingProtocol`. That style of API requires a channel
* name for sending data.
*/
export declare class Protocol implements IMessagePassingProtocol {
private sender;
readonly onMessage: Event<VSBuffer>;
constructor(sender: Sender, onMessage: Event<VSBuffer>);
send(message: VSBuffer): void;
disconnect(): void;
}