/
server2.js
55 lines (48 loc) · 1.42 KB
/
server2.js
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
const dbus = require('../../index');
// command line to test:
// dbus-send --print-reply --type=method_call --dest='some.name' '/com/github/sidorares/1' com.example.service.respondWithDouble string:'test123'
// dbus-send --print-reply --type=method_call --dest='some.name' '/com/github/sidorares/1' com.example.service.timesTwo double:123.4567
//const addrx11 = require('../../lib/address-x11');
//addrx11(function(err, address) {
//var bus = dbus.sessionBus({busAddress: address});
var bus = dbus.sessionBus();
var name = 'some.name';
bus.requestName(name, 0);
var exampleIface = {
name: 'com.example.service',
methods: {
doStuff: ['s', 's'],
timesTwo: ['d', 'd'],
respondWithDouble: ['s', 'd']
},
signals: {
testsignal: ['us', 'name1', 'name2']
},
properties: {
TestProperty: 'y'
}
};
var example = {
respondWithDouble: function(s) {
console.log(`Received "${s}'`);
return 3.14159;
},
timesTwo: function(d) {
console.log(d);
return d * 2;
},
doStuff: function(s) {
return `Received "${s}" - this is a reply`;
},
TestProperty: 42,
emit: function(name, param1, param2) {
console.log('signal emit', name, param1, param2);
}
};
bus.exportInterface(example, '/com/github/sidorares/1', exampleIface);
bus.exportInterface(example, '/com/github/sidorares/2', exampleIface);
//setInterval( function() {
// example.emit('testsignal', Date.now(), 'param2');
//}, 1000);
//});
//