UNPKG

easy-qwebchannel

Version:

Easy IPC communication for QT applications

63 lines (62 loc) 1.93 kB
export declare type CallbackFunction = (...args: any[]) => any; export declare class EasyQWebChannel { private context; private deferred; private onceConnectedSignalName; /** * @param channelObjectName * @example new EasyQWebChannel('fooObj') */ constructor(channelObjectName: string); ready(): Promise<any>; /** * @param signalName * @param methodName * @param callback * @returns Promise<void> * @example channel.answerNative( * 'signalName', * 'jsFinished', * (args: any[]) => ({ jsSideResult: 'test' }) * ) */ answerNative(signalName: string, methodName: string, callback: CallbackFunction): Promise<any>; /** * @param signalName * @param methodName * @param callback * @param skipCallMethodWhenVoid if callback returns void, skip calling methodName */ answerNativeHeartBeat(signalName: string, methodName: string, callback: CallbackFunction, skipCallMethodWhenVoid?: boolean): void; /** * @param methodName * @param signalName * @param data * @returns Promise<any> * @example channel.callNative( * 'methodName', * 'nativeMethodFinished', * { methodArgument: 'test' }, * ) */ callNative(methodName: string, signalName: string, data: any): Promise<any>; /** * @param methodName * @param data */ callNativeWithoutResponse(methodName: string, data: any): void; /** * @param methodName */ canUseMethod(methodName: string): boolean; /** * @param signalName */ canUseSignal(signalName: string): boolean; /** * @param signalName * @param callback * @example channel.once('nativeMethodFinished', (args: any[]) => {}) */ once(signalName: string, callback: CallbackFunction): Promise<void>; }