dbus service : avoiding multi-connection on each 'run script' button
authorFrederic PAUT <frederic.paut@linux.intel.com>
Mon, 22 Jul 2013 12:42:02 +0000 (14:42 +0200)
committerFrederic PAUT <frederic.paut@linux.intel.com>
Mon, 22 Jul 2013 12:42:02 +0000 (14:42 +0200)
doc/agent/client.html
doc/agent/server.html

index 5b92c4d..625d3a1 100644 (file)
@@ -53,29 +53,35 @@ function signalHandler(result) {
 }
 
 function gotProxy(proxy) {
-       if (window.sampleProxy == null)
-               proxy.connectToSignal("org.cloudeebus.Sample", "ResultChanged", signalHandler);
-       window.sampleProxy = proxy;
+       proxy.connectToSignal("org.cloudeebus.Sample", "ResultChanged", signalHandler);
        logCB(proxy);
-       
+       window.sampleProxy = proxy;
+       testProxy();
+}
+
+function testProxy() {
        var dictionary = {Name: "Mickey",
                                         Sisters: [""], 
                                         Married: true,
                                         Divorced: 0,
                                         Friends: ["Donald", "Dingo"],
                                         Others: [""]};
-       proxy.Variant(dictionary).then(logCB,errorCB);
+       window.sampleProxy.Variant(dictionary).then(logCB,errorCB);
          
        logCB('Addition');
        for (var i=-2; i<2; i++)
-         proxy.Add(i,i*2).then(gotAddResult,errorCB);
+         window.sampleProxy.Add(i,i*2).then(gotAddResult,errorCB);
 }
 
 function connectSuccess() {
-  cloudeebus.SessionBus().getObject("org.cloudeebus.Sample", "/org/cloudeebus/Sample", gotProxy, errorCB);
+       cloudeebus.SessionBus().getObject("org.cloudeebus.Sample", "/org/cloudeebus/Sample", gotProxy, errorCB);
 }
 
-cloudeebus.connect("ws://localhost:9002", manifest, connectSuccess, errorCB);
+if (!window.sampleProxy)
+       cloudeebus.connect("ws://localhost:9002", manifest, connectSuccess, errorCB);
+else
+       testProxy();
+
 </textarea>
                <br>
                <input type="button" value="run script" onclick="evalScript()"/>
index 7f6ea5e..47f7ba9 100644 (file)
@@ -70,7 +70,8 @@ function connectSuccess() {
   cloudeebus.SessionBus().addService("org.cloudeebus.Sample").then(addAgent, errorCB);
 }
 
-cloudeebus.connect("ws://localhost:9003", manifest, connectSuccess, errorCB);
+if (!window.sampleProxy)
+  cloudeebus.connect("ws://localhost:9003", manifest, connectSuccess, errorCB);
 </textarea>
                <br>
 -              <input type="button" value="run script" onclick="evalScript('script')"/>