authentification: access control, check manifest on whitelist
[contrib/cloudeebus.git] / doc / sample / cloudeebus.html
1 <!DOCTYPE html>
2 <html>
3     <head>
4         <script src="../../lib/autobahn.min.js"></script>
5         <script src="../../cloudeebus/cloudeebus.js"></script>
6         <script type="text/javascript">
7                 var manifest = {
8                         name: "cloudeebus",
9                         version: "v0.0 / development",
10                         key: "secret",
11                         permissions: [
12                                 "com.intel.media-service-upnp",
13                                 "com.intel.renderer-service-upnp",
14                                 "org.freedesktop.DBus",
15                                 "org.freedesktop.DisplayManager",
16                                 "org.freedesktop.FileManager1",
17                                 "org.freedesktop.ModemManager",
18                                 "org.freedesktop.NetworkManager",
19                                 "org.freedesktop.Notifications",
20                                 "org.freedesktop.Tracker1",
21                                 "org.gnome.Nautilus",
22                                 "org.gnome.Rygel1",
23                                 "org.gnome.ScreenSaver",
24                                 "org.neard",
25                                 "org.ofono"
26                         ]
27                 };
28         </script>
29     </head>
30    <body>
31         <center><h1>cloudeebus</h1></center>
32         <br>
33                 <textarea cols="80" rows=24 id="script">
34 cloudeebus.log = function(msg) {
35   document.getElementById("log").innerHTML += msg + "\n";
36 }
37
38 var proxy, interval;
39
40 function connectSuccess() {
41   var bus = cloudeebus.SessionBus();
42   handler = bus.getObject("org.gnome.ScreenSaver", "/org/gnome/ScreenSaver");
43   handler.connectToSignal("org.gnome.ScreenSaver", "ActiveChanged", successCB, errorCB);
44   proxy = bus.getObject("org.gnome.ScreenSaver", "/", lock, errorCB);
45 }
46
47 function unLock() {
48   proxy.SetActive(false, successCB, errorCB);
49   clearInterval(interval);
50 }
51
52 function lock() {
53   proxy.SetActive(true, lockOk, errorCB);
54 }
55
56 function lockOk(res) {
57   interval = setInterval(unLock,3000);
58 }
59
60 function successCB(res) {
61   cloudeebus.log("got result: " + res + "\n");
62 }
63
64 function errorCB(error) {
65   cloudeebus.log("error: " + error + "\n");
66 }
67
68 cloudeebus.connect("ws://localhost:9000", manifest, connectSuccess, errorCB);
69 </textarea>
70                 <br>
71                 <input type="button" value="run script" onclick="eval(document.getElementById('script').value)"/>
72                 <input type="button" value="clear log" onclick="document.getElementById('log').innerHTML='';"/>
73                 <br>
74                 <pre id="log" style="height: 20em; overflow-y: scroll; background-color: #faa;"></pre>
75    </body>
76 </html>