//objPath : a DBus path to access it
//jsHdl : a Javascript handler to process methods,
//xml : the xml which describe interface/methods/signals...
-cloudeebus.Agent = function(objPath, jsHdl, xml) {
+cloudeebus.Agent = function(srvName, objPath, jsHdl, xml) {
+ this.srvName = srvName;
this.xml = xml;
this.objectPath = objPath;
this.jsHdl = jsHdl;
}
var arglist = [
+ agent.srvName,
agent.objectPath,
agent.xml
];
'''
arguments: objectPath, xmlTemplate
'''
- agentObjectPath = list[0]
- xmlTemplate = list[1]
+ srvName = list[0]
+ agentObjectPath = list[1]
+ xmlTemplate = list[2]
className = createClassName(agentObjectPath)
if (self.dynDBusClasses.has_key(className) == False):
self.dynDBusClasses[className] = DynDBusClass(className, self.globalCtx, self.localCtx)
## Class already exist, instanciate it if not already instanciated
if (self.serviceAgents.has_key(className) == False):
- self.serviceAgents[className] = eval(className + "(self.bus, callback=self.srvCB, objPath='"+agentObjectPath+"', busName=self.srvName)", self.globalCtx, self.localCtx)
+ self.serviceAgents[className] = eval(className + "(self.bus, callback=self.srvCB, objPath='"+agentObjectPath+"', busName='"+srvName+"')", self.globalCtx, self.localCtx)
self.serviceAgents[className].add_to_connection()
return (agentObjectPath)
function addAgent(service) {
window.gService = service;
- var agent = new cloudeebus.Agent("/org/cloudeebus/Sample", sampleObjectHandler, sampleXml);
+ var agent = new cloudeebus.Agent(service.name, "/org/cloudeebus/Sample", sampleObjectHandler, sampleXml);
cloudeebus.log("Adding agent " + agent.objectPath + " on " + service.name + ", mapped on Javascript object: 'sampleObjectHandler");
service.addAgent(agent).then(logCB, errorCB);
window.gAgent = agent;