diff options
Diffstat (limited to 'lib/qt.js')
-rw-r--r-- | lib/qt.js | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/lib/qt.js b/lib/qt.js deleted file mode 100644 index 1b3a9547b..000000000 --- a/lib/qt.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - This file is part of ethereum.js. - - ethereum.js is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ethereum.js is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with ethereum.js. If not, see <http://www.gnu.org/licenses/>. -*/ -/** @file qt.js - * @authors: - * Jeffrey Wilcke <jeff@ethdev.com> - * Marek Kotewicz <marek@ethdev.com> - * @date 2014 - */ - -/** - * QtProvider object prototype is implementing 'provider protocol' - * Should be used inside ethereum browser. It's compatible with cpp and go clients. - * It uses navigator.qt object to pass the messages to native bindings - */ -var QtProvider = function() { - this.handlers = []; - - var self = this; - navigator.qt.onmessage = function (message) { - self.handlers.forEach(function (handler) { - handler.call(self, JSON.parse(message.data)); - }); - }; -}; - -/// Prototype object method -/// Should be called when we want to send single api request to native bindings -/// Asynchronous -/// Response will be received by navigator.qt.onmessage method and passed to handlers -/// @param payload is inner message object -QtProvider.prototype.send = function(payload) { - navigator.qt.postMessage(JSON.stringify(payload)); -}; - -/// Prototype object property -/// Should be used to set message handlers for this provider -Object.defineProperty(QtProvider.prototype, "onmessage", { - set: function(handler) { - this.handlers.push(handler); - } -}); - -module.exports = QtProvider; |