UNPKG

jsms-ext-chromium

Version:

JSMS extension for integration of Chromium Embedded Framework (CEF) clients.

46 lines (45 loc) 1.99 kB
import { JsmsConnection, JsmsDeferred, JsmsMessage, JsmsQueue, JsmsTopic } from "jsms"; export declare class ChromiumConnection extends JsmsConnection { private defaultTimeToLive; private maxHandshakeRetries; private globalNS; static readonly HANDSHAKE_INIT = "/jsms-ext-chromium/handshake/init"; static readonly HANDSHAKE_CLIENT_READY = "/jsms-ext-chromium/handshake/client/ready"; static readonly HANDSHAKE_SERVER_READY = "/jsms-ext-chromium/handshake/server/ready"; static readonly DEFAULT_TIME_TO_LIVE: number; static readonly DEFAULT_HANDSHAKE_RETRY_COUNT: number; static readonly DEFAULT_HANDSHAKE_RETRY_DELAY: number; private readonly logger; private sendFunction; private responseDeferreds; private currentHandshakeRetries; /** * @param defaultTimeToLive will be used to calculate expiration time when no * custom value is provided to the send function * @param maxHandshakeRetries specifies how often the handshake will be retried * @param globalNS is only used by unit tests - * in production code you should ignore it and just leave it undefined */ constructor(defaultTimeToLive?: number, maxHandshakeRetries?: number, globalNS?: any); private onMessage; private handleResponse; createQueue(queueName: string): JsmsQueue; createTopic(topicName: string): JsmsTopic; send(message: JsmsMessage): JsmsDeferred<JsmsMessage>; private getSendFunction; private isCEF; private initCEFConnection; private isWebView2; private initWebView2Connection; private handleSuccessResponse; private handleErrorResponse; private sendToCEF; private sendToWebView2; private handleExpiration; sendHandshake(): JsmsDeferred<JsmsMessage>; private sendHandshakeInternal; private sendHandshakeInit; private sendServerReady; private resolveHandshake; private retryHandshake; }