source: project/release/4/dbus/trunk/examples/introspect-connman.scm @ 25884

Last change on this file since 25884 was 25884, checked in by ecloud, 9 years ago

Removed dbus: prefix; you can add it back like this: (use (prefix dbus dbus:))

File size: 1.2 KB
Line 
1(use (prefix dbus dbus:))
2
3(define ctxt (dbus:make-context
4        bus: dbus:system-bus
5        service: 'net.connman
6))
7
8(display (dbus:discover-api-xml ctxt))
9
10(define (device-properties device)
11  (let ((c (dbus:make-context bus: dbus:system-bus
12                              service: 'net.connman
13                              interface: 'net.connman.Service
14                              path: device)))
15    (dbus:call c "GetProperties")))
16
17(define mgr-ctxt (dbus:make-context bus: dbus:system-bus
18        service: 'net.connman interface: 'net.connman.Manager))
19
20(printf "~%==== Clock Properties:~%")
21(define clock-ctxt (dbus:make-context bus: dbus:system-bus
22        service: 'net.connman interface: 'net.connman.Clock))
23(pretty-print (dbus:call clock-ctxt "GetProperties"))
24
25(printf "~%==== Manager Services:~%")
26(pretty-print (dbus:call mgr-ctxt "GetServices"))
27
28(printf "~%==== Manager Properties:~%")
29(dbus:auto-unbox-variants #t)
30(let ([mgr-props (dbus:call mgr-ctxt "GetProperties")])
31        (pretty-print mgr-props)
32        (let ([ifaces (assoc "Services" (vector->list (car mgr-props)))])
33                (when (pair? ifaces)
34                        (set! ifaces (vector->list (cdr ifaces)))
35(printf "~%==== Network interface Properties:~%")
36                        (for-each (lambda (path)
37                                        (printf "---- ~a~%" path)
38                                        (pp (vector->list (car (device-properties path))))
39                                ) ifaces)
40                )))
41
42(sleep 1)
43(exit)
Note: See TracBrowser for help on using the repository browser.