request : removing successCB, errorCB as parameters in callMethod
authorFrederic PAUT <frederic.paut@linux.intel.com>
Tue, 16 Apr 2013 08:56:08 +0000 (10:56 +0200)
committerFrederic PAUT <frederic.paut@linux.intel.com>
Fri, 24 May 2013 08:02:06 +0000 (10:02 +0200)
and using 'then' method instead
(allowing to standardize 'this' in callback)

cloudeebus/cloudeebus.js

index 083dd79..1521426 100644 (file)
@@ -535,7 +535,7 @@ cloudeebus.ProxyObject.prototype._addMethod = function(ifName, method, nArgs) {
        
 };
 
-cloudeebus.ProxyObject.prototype.callMethod = function(ifName, method, args, successCB, errorCB) {
+cloudeebus.ProxyObject.prototype.callMethod = function(ifName, method, args) {
        
        var self = this;
        var request = new cloudeebus.Request(this, successCB, errorCB);
@@ -544,12 +544,13 @@ cloudeebus.ProxyObject.prototype.callMethod = function(ifName, method, args, suc
                request.result = eval(str);
                if (request.onsuccess) {
                        try { // calling dbus hook object function for un-translated types
-                               request.onsuccess.apply(request.proxy, request.result);
+                               request.onsuccess.apply(request, request.result);
                        }
                        catch (e) {
                                cloudeebus.log("Method callback exception: " + e);
+                               request.error = e;
                                if (request.onerror)
-                                       request.onerror(e);
+                                       request.onerror.apply(request, e);
                        }
                }
        }
@@ -558,7 +559,7 @@ cloudeebus.ProxyObject.prototype.callMethod = function(ifName, method, args, suc
                cloudeebus.log("Error calling method: " + method + " on object: " + self.objectPath + " : " + error.desc);
                request.error = error.desc;
                if (request.onerror)
-                       request.onerror(request.error);
+                       request.onerror.apply(request, request.error);
        }
 
        var arglist = [