Path: blob/main/src/typings/electron-cross-app-ipc.d.ts
13379 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45/**6* Type definitions for Electron's crossAppIPC module (custom build).7*8* This module provides secure IPC between an Electron host app and an9* embedded Electron app (MiniApp) within nested bundles. Communication10* is authenticated via code-signature verification (macOS: Mach ports,11* Windows: named pipes).12*/1314declare namespace Electron {1516interface CrossAppIPCMessageEvent {17/** The deserialized message data sent by the peer app. */18data: any;19/** Array of transferred MessagePortMain objects (if any). */20ports: Electron.MessagePortMain[];21}2223type CrossAppIPCDisconnectReason =24| 'peer-disconnected'25| 'handshake-failed'26| 'connection-failed'27| 'connection-timeout';2829interface CrossAppIPC extends NodeJS.EventEmitter {30on(event: 'connected', listener: () => void): this;31once(event: 'connected', listener: () => void): this;32removeListener(event: 'connected', listener: () => void): this;3334on(event: 'message', listener: (messageEvent: CrossAppIPCMessageEvent) => void): this;35once(event: 'message', listener: (messageEvent: CrossAppIPCMessageEvent) => void): this;36removeListener(event: 'message', listener: (messageEvent: CrossAppIPCMessageEvent) => void): this;3738on(event: 'disconnected', listener: (reason: CrossAppIPCDisconnectReason) => void): this;39once(event: 'disconnected', listener: (reason: CrossAppIPCDisconnectReason) => void): this;40removeListener(event: 'disconnected', listener: (reason: CrossAppIPCDisconnectReason) => void): this;4142connect(): void;43close(): void;44postMessage(message: any, transferables?: Electron.MessagePortMain[]): void;45readonly connected: boolean;46readonly isServer: boolean;47}4849interface CrossAppIPCModule {50createCrossAppIPC(): CrossAppIPC;51}5253namespace Main {54const crossAppIPC: CrossAppIPCModule | undefined;55}5657namespace CrossProcessExports {58const crossAppIPC: CrossAppIPCModule | undefined;59}60}616263