agent client/server doc: create a service, delete it on method call
authorLuc Yriarte <luc.yriarte@intel.com>
Wed, 20 Mar 2013 16:50:45 +0000 (17:50 +0100)
committerLuc Yriarte <luc.yriarte@intel.com>
Wed, 20 Mar 2013 16:50:45 +0000 (17:50 +0100)
doc/agent/client.html
doc/agent/server.html

index 1d4dbdc..e6df748 100644 (file)
@@ -38,8 +38,13 @@ function errorCB(error) {
   cloudeebus.log(error.desc ? error.desc : error);
 }
 
+function gotProxy(proxy) {
+  logCB(proxy);
+  proxy.Release();
+}
+
 function connectSuccess() {
-  cloudeebus.SessionBus().getObject("org.cloudeebus.Sample", "/org/cloudeebus/Sample", logCB, errorCB);
+  cloudeebus.SessionBus().getObject("org.cloudeebus.Sample", "/org/cloudeebus/Sample", gotProxy, errorCB);
 }
 
 cloudeebus.connect("ws://localhost:9002", manifest, connectSuccess, errorCB);
index 9468bf6..241a4b0 100644 (file)
@@ -17,7 +17,7 @@
    <body>
         <center><h1>cloudeebus</h1></center>
         <br>
-               <textarea style="width:80%" rows="32" id="script">
+               <textarea style="width:80%" rows="32" id="script">var sampleXml= '<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"\n"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">\n<node><interface name="org.cloudeebus.Sample"><method name="Release"></method></interface></node>';
 cloudeebus.log = function(msg) {
   document.getElementById("log").innerHTML += msg + "\n";
 }
@@ -30,8 +30,20 @@ function errorCB(error) {
   cloudeebus.log(error.desc ? error.desc : error);
 }
 
+function releaseCalled() {
+  cloudeebus.log("Release method called");
+  cloudeebus.SessionBus().service.returnMethod("org.cloudeebus.Sample#/org/cloudeebus/Sample#Release", true, null);
+  cloudeebus.SessionBus().service.delAgent("/org/cloudeebus/Sample", logCB, errorCB);
+  cloudeebus.SessionBus().service.remove(logCB, errorCB);
+}
+
+function serviceAdded(servName) {
+  cloudeebus.SessionBus().service.registerMethod("org.cloudeebus.Sample#/org/cloudeebus/Sample#Release",releaseCalled);
+  cloudeebus.SessionBus().service.addAgent("/org/cloudeebus/Sample", sampleXml, logCB, errorCB);
+}
+
 function connectSuccess() {
-  cloudeebus.SessionBus().addService("org.cloudeebus.Sample", logCB, errorCB);
+  cloudeebus.SessionBus().addService("org.cloudeebus.Sample", serviceAdded, errorCB);
 }
 
 cloudeebus.connect("ws://localhost:9003", null, connectSuccess, errorCB);