jsms-ext-chromium
Version:
JSMS extension for integration of Chromium Embedded Framework (CEF) clients.
46 lines (45 loc) • 1.99 kB
TypeScript
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;
}