From 78124085b7c1442b67ba86e135f6a1c46abf180b Mon Sep 17 00:00:00 2001 From: Frederic PAUT Date: Fri, 26 Jul 2013 18:33:13 +0200 Subject: [PATCH 1/1] dbus service: create Agent wrapper only if agent has been created successfully --- cloudeebus/cloudeebus.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/cloudeebus/cloudeebus.js b/cloudeebus/cloudeebus.js index 04faaa4..e0ee0a4 100644 --- a/cloudeebus/cloudeebus.js +++ b/cloudeebus/cloudeebus.js @@ -206,7 +206,6 @@ cloudeebus.BusConnection.prototype.addService = function(serviceName) { //jsHdl : a Javascript handler to process methods, //xml : the xml which describe interface/methods/signals... cloudeebus.Agent = function(objPath, jsHdl, xml) { -// this.srvName = srvDbusName; this.xml = xml; this.objectPath = objPath; this.jsHdl = jsHdl; @@ -353,6 +352,15 @@ cloudeebus.Service.prototype.addAgent = function(agent) { var promise = new cloudeebus.Promise(function (resolver) { function ServiceAddAgentSuccessCB(objPath) { self.agents.push(agent); + try { + self._createWrapper(agent); + } + catch (e) { + var errorStr = cloudeebus.getError(e); + cloudeebus.log("Exception creating agent wrapper " + agent.objectPath + " : " + errorStr); + resolver.reject(errorStr, true); + return; + } resolver.fulfill(objPath, true); } @@ -362,16 +370,6 @@ cloudeebus.Service.prototype.addAgent = function(agent) { self.promise.resolver.reject(errorStr, true); } - try { - self._createWrapper(agent); - } - catch (e) { - var errorStr = cloudeebus.getError(e); - cloudeebus.log("Exception creating agent wrapper " + agent.objectPath + " : " + errorStr); - resolver.reject(errorStr, true); - return; - } - var arglist = [ agent.objectPath, agent.xml -- 2.7.4