aboutsummaryrefslogtreecommitdiffstats
path: root/ethereal/assets/ext
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-08-20 16:00:02 +0800
committerobscuren <geffobscura@gmail.com>2014-08-20 16:00:02 +0800
commitecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0 (patch)
tree7646add8e4c6ce26accdf00a271383fd06511156 /ethereal/assets/ext
parenta8409b0a8bfa7f8434ede495094fd8d892c28c91 (diff)
downloadgo-tangerine-ecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0.tar
go-tangerine-ecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0.tar.gz
go-tangerine-ecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0.tar.bz2
go-tangerine-ecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0.tar.lz
go-tangerine-ecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0.tar.xz
go-tangerine-ecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0.tar.zst
go-tangerine-ecc2c609d4dfe210c66c9316cf5b060f9b3a4ff0.zip
Implemented QML message filtering
Diffstat (limited to 'ethereal/assets/ext')
-rw-r--r--ethereal/assets/ext/filter.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/ethereal/assets/ext/filter.js b/ethereal/assets/ext/filter.js
new file mode 100644
index 000000000..20f0b36a3
--- /dev/null
+++ b/ethereal/assets/ext/filter.js
@@ -0,0 +1,23 @@
+var Filter = function(eth, options) {
+ this.callbacks = {};
+ this.seed = Math.floor(Math.random() * 1000000);
+ this.eth = eth;
+
+ eth.registerFilter(options, this.seed);
+};
+
+Filter.prototype.changed = function(callback) {
+ var cbseed = Math.floor(Math.random() * 1000000);
+ this.eth.registerFilterCallback(this.seed, cbseed);
+
+ var self = this;
+ message.connect(function(messages, seed, callbackSeed) {
+ if(seed == self.seed && callbackSeed == cbseed) {
+ callback.call(self, messages);
+ }
+ });
+};
+
+Filter.prototype.uninstall = function() {
+ eth.uninstallFilter(this.seed)
+}