summaryrefslogtreecommitdiffstats
path: root/demo/index.html
blob: 7c585d022528bd46c21e78af4f7a97fe4c30f79c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html>
<head>
	<style>img{ height: 100px; float: left; }</style>
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script src="helper.js"></script>
</head>
<body>

<table border="1" cellpadding="5">
<tr><th>function</th><th>send</th><th>receive</><tr>
<tr><td>com.pengutronix.jdb.SystemInfo.Ping</td><td id="echo-send">foobar</td><td id="echo-receive"></td></tr>
<tr><td>com.pengutronix.jdb.SystemInfo.Date</td><td id="date-send"></td><td id="date-receive"></td></tr>
<tr><td>org.freedesktop.DBus.Introspectable.Introspect</td><td id="introspect-send"></td><td id="introspect-receive"></td></tr>
<tr><td>com.pengutronix.jdb.Data.Dump</td><td id="dump-send"></td><td id="dump-receive"></td></tr>
</table>

<script>
var rpc = new Rpc("http://localhost:8080/rpc","com.pengutronix.jdb.simpleinfo|/");

rpc.callAsync(
	"com.pengutronix.jdb.SystemInfo.Ping",
	["s", $('#echo-send').text()],
	function(id, data){
		$('#echo-receive').html(data)
	});

window.setInterval('tick()', 1000);

function tick() {
	rpc.callAsync(
		"com.pengutronix.jdb.SystemInfo.Date",
		[],
		function(id, data){
			var d = new Date(data*1000);
			$('#date-receive').html(d.toString())
		});
}

rpc.callAsync(
	"org.freedesktop.DBus.Introspectable.Introspect",
	[],
	function(id, data){
		var parser = new DOMParser();
		var doc = parser.parseFromString(data, "text/xml");
		var txt = "";
		var ifaces = doc.getElementsByTagName("interface");
		for (var i = 0; i < ifaces.length; i++) {
			var iface = ifaces[i].getAttribute("name")
			var methods = ifaces[i].getElementsByTagName("method");
			for (var j = 0; j < methods.length; j++) {
				txt += iface + "." + methods[j].getAttribute("name") + "<br/>";
			}
			txt += "<br/>";
		}
		$('#introspect-receive').html(txt);
	});

var rpc2 = new Rpc("http://localhost:8080/rpc","com.pengutronix.jdb.demo1|/");

rpc2.callAsync(
	"com.pengutronix.jdb.Data.Dump",
	[],
	function(id, data){
		var table = document.createElement("table");
		table.setAttribute("border", "1");
		table.setAttribute("cellpadding", "2");
		for (var key in data) {
			var row = document.createElement("tr");
			var cell = document.createElement("td");
			cell.appendChild(document.createTextNode(key));
			row.appendChild(cell);
			var ll = data[key];
			for (var i = 0; i < ll.length; i++) {
				var cell = document.createElement("td");
				cell.appendChild(document.createTextNode(String(ll[i])));
				row.appendChild(cell);
			}
			table.appendChild(row);
		}
		$('#dump-receive').append(table);
		var x = $('#dump-receive');
	});


</script>
</body>
</html>