X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cloudeebus%2Fcloudeebus.js;h=92d31081364efbf75b5c3e0eeda651b1ddcbad79;hb=de126e87fcde25b375b2efb56583712b2ca8affc;hp=f3a7996cf92714cf36b1b59e76a2273e5be62f72;hpb=68686ed344cf2e05409aa28700b3554de4d725c7;p=contrib%2Fcloudeebus.git diff --git a/cloudeebus/cloudeebus.js b/cloudeebus/cloudeebus.js index f3a7996..92d3108 100644 --- a/cloudeebus/cloudeebus.js +++ b/cloudeebus/cloudeebus.js @@ -45,11 +45,19 @@ cloudeebus.log = function(msg) { }; cloudeebus.getError = function(error) { + if (error.desc && error.uri) + return error.desc + " : " + error.uri; // error cloudeebus (from python) if (error.desc) return error.desc; + if (error.uri) + return error.uri; + if (error.name && error.message) + return error.name + " : " + error.message; if (error.message) return error.message; - return error; + if (error.name) + return error.name; + return error; // error from Autobahn }; cloudeebus.versionCheck = function(version) { @@ -102,11 +110,13 @@ cloudeebus.connect = function(uri, manifest, successCB, errorCB) { function onWAMPSessionConnectedCB(session) { cloudeebus.wampSession = session; - if (manifest) + if (manifest) { cloudeebus.wampSession.authreq( manifest.name, - {permissions: manifest.permissions} + {permissions: manifest.permissions, + services: manifest.services} ).then(onWAMPSessionChallengedCB, onWAMPSessionAuthErrorCB); + } else cloudeebus.wampSession.authreq().then(function() { cloudeebus.wampSession.auth().then(onWAMPSessionAuthenticatedCB, onWAMPSessionAuthErrorCB); @@ -158,12 +168,15 @@ cloudeebus.BusConnection.prototype.getObject = function(busName, objectPath, int cloudeebus.BusConnection.prototype.addService = function(serviceName) { var self = this; + + if (!serviceName) + serviceName = ""; var promise = new cloudeebus.Promise(function (resolver) { var cloudeebusService = new cloudeebus.Service(self.wampSession, self, serviceName); function ServiceAddedSuccessCB(serviceName) { - try { // calling dbus hook object function for un-translated types + try { cloudeebusService.isCreated = true; resolver.fulfill(cloudeebusService, true); } @@ -365,8 +378,7 @@ cloudeebus.Service.prototype.addAgent = function(agent) { try { // calling dbus hook object function for un-translated types self.agents.push(agent); agent.registered = true; - var result = [ objPath ]; - resolver.fulfill(result[0], true); + resolver.fulfill(objPath, true); } catch (e) { var errorStr = cloudeebus.getError(e); @@ -422,16 +434,15 @@ cloudeebus.Service.prototype._deleteWrapper = function(agent) { }; -cloudeebus.Service.prototype.removeAgent = function(rmAgent, successCB, errorCB) { +cloudeebus.Service.prototype.removeAgent = function(rmAgent) { var self = this; var promise = new cloudeebus.Promise(function (resolver) { function ServiceRemoveAgentSuccessCB(agent) { try { // calling dbus hook object function for un-translated types - self.agents.push(agent); - agent.registered = true; - var result = [ agent ]; - resolver.fulfill(result[0], true); + self.agents.pop(agent); + agent.registered = false; + resolver.fulfill(agent, true); } catch (e) { var errorStr = cloudeebus.getError(e);