[Utils] extensions for NativeBridge
authorMaciek Blim <m.blim@samsung.com>
Thu, 8 Jan 2015 09:28:25 +0000 (10:28 +0100)
committerMaciek Blim <m.blim@samsung.com>
Thu, 8 Jan 2015 09:30:04 +0000 (10:30 +0100)
Change-Id: I41fd428af4a9c7dee046017e02ab706bb00d17ec
Signed-off-by: Maciek Blim <m.blim@samsung.com>
src/utils/utils_api.js

index 733db1730dadee8bf799e76d74eb60d4ef993337..64ebb783ffb83e4b6613e91cb67e445b4f40c35e 100644 (file)
@@ -969,6 +969,23 @@ var NativeBridge = (function (extension, debug) {
                     if (l.cid) cm.remove(l.cid);
                     delete _listeners[id];
                 }
+            },
+            attach: function (id, key, value) {
+                if (_listeners[id]) {
+                    _listeners[id][key] = value;
+                    return true;
+                }
+                return false;
+            },
+            find: function (key, value) {
+                var result = [];
+                for (var p in _listeners) {
+                    if (_listeners.hasOwnProperty(p)) {
+                        var l = _listeners[p];
+                        if (l[key] === value) result.push({id: p, listener: l});
+                    }
+                }
+                return result;
             }
         }
 
@@ -1023,6 +1040,15 @@ var NativeBridge = (function (extension, debug) {
             var l = (new Listener()).then(c);
             var cid = Listeners.getInstance().add(l);
             return cid;
+        },
+        attach: function (id, key, value) {
+            return Listeners.getInstance().attach(id, key, value);
+        },
+        find: function (key, value) {
+            return Listeners.getInstance().find(key, value);
+        },
+        remove: function (id) {
+            Listeners.getInstance().remove(id);
         }
     };