From bf18b69cf44b8da0b16e748d3c713f2808d4a79f Mon Sep 17 00:00:00 2001 From: Ayon Ghosh Date: Sat, 17 Sep 2016 09:16:45 +0530 Subject: [PATCH] Add external event handler for WebSocket connection events --- core/rfb.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/rfb.js b/core/rfb.js index 0718c89d..d4a57587 100644 --- a/core/rfb.js +++ b/core/rfb.js @@ -165,7 +165,8 @@ 'onFBUComplete': function () { }, // onFBUComplete(rfb, fbu): RFB FBU received and processed 'onFBResize': function () { }, // onFBResize(rfb, width, height): frame buffer resized 'onDesktopName': function () { }, // onDesktopName(rfb, name): desktop name received - 'onXvpInit': function () { } // onXvpInit(version): XVP extensions active for this connection + 'onXvpInit': function () { } // onXvpInit(version): XVP extensions active for this connection, + 'onWsConnEvent': function () { }, // onWsConnEvent(eventType, event): a WebSocket connection event occurred }); // main setup @@ -208,6 +209,7 @@ } else { this._fail("Got unexpected WebSocket connection"); } + this._onWsConnEvent('open'); }.bind(this)); this._sock.on('close', function (e) { Util.Warn("WebSocket on-close event"); @@ -229,9 +231,11 @@ this._fail("Server disconnected" + msg); } this._sock.off('close'); + this._onWsConnEvent('close', e); }.bind(this)); this._sock.on('error', function (e) { Util.Warn("WebSocket on-error event"); + this.onWsConnEvent('error', e); }); this._init_vars(); @@ -1333,7 +1337,8 @@ ['onFBUComplete', 'rw', 'func'], // onFBUComplete(rfb, fbu): RFB FBU received and processed ['onFBResize', 'rw', 'func'], // onFBResize(rfb, width, height): frame buffer resized ['onDesktopName', 'rw', 'func'], // onDesktopName(rfb, name): desktop name received - ['onXvpInit', 'rw', 'func'] // onXvpInit(version): XVP extensions active for this connection + ['onXvpInit', 'rw', 'func'], // onXvpInit(version): XVP extensions active for this connection + ['onWsConnEvent', 'rw', 'func'], // onWsConnEvent(eventType, event): A WebSocket connection event occurred ]); RFB.prototype.set_local_cursor = function (cursor) {