OSDN Git Service

eclair snapshot
[android-x86/external-bluetooth-bluez.git] / test / simple-service
1 #!/usr/bin/python
2
3 import sys
4 import time
5 import dbus
6
7 xml = ' \
8 <?xml version="1.0" encoding="UTF-8" ?>         \
9 <record>                                        \
10   <attribute id="0x0001">                       \
11     <sequence>                                  \
12       <uuid value="0x1101"/>                    \
13     </sequence>                                 \
14   </attribute>                                  \
15                                                 \
16   <attribute id="0x0002">                       \
17      <uint32 value="0"/>                        \
18   </attribute>                                  \
19                                                 \
20   <attribute id="0x0003">                       \
21     <uuid value="00001101-0000-1000-8000-00805f9b34fb"/> \
22   </attribute>                                  \
23                                                 \
24   <attribute id="0x0004">                       \
25     <sequence>                                  \
26       <sequence>                                \
27         <uuid value="0x0100"/>                  \
28       </sequence>                               \
29       <sequence>                                \
30         <uuid value="0x0003"/>                  \
31         <uint8 value="23"/>                     \
32       </sequence>                               \
33     </sequence>                                 \
34   </attribute>                                  \
35                                                 \
36   <attribute id="0x0005">                       \
37     <sequence>                                  \
38       <uuid value="0x1002"/>                    \
39     </sequence>                                 \
40   </attribute>                                  \
41                                                 \
42   <attribute id="0x0006">                       \
43     <sequence>                                  \
44       <uint16 value="0x656e"/>                  \
45       <uint16 value="0x006a"/>                  \
46       <uint16 value="0x0100"/>                  \
47     </sequence>                                 \
48   </attribute>                                  \
49                                                 \
50   <attribute id="0x0007">                       \
51      <uint32 value="0"/>                        \
52   </attribute>                                  \
53                                                 \
54   <attribute id="0x0008">                       \
55      <uint8 value="0xff"/>                      \
56   </attribute>                                  \
57                                                 \
58   <attribute id="0x0009">                       \
59     <sequence>                                  \
60       <sequence>                                \
61         <uuid value="0x1101"/>                  \
62         <uint16 value="0x0100"/>                \
63       </sequence>                               \
64     </sequence>                                 \
65   </attribute>                                  \
66                                                 \
67   <attribute id="0x000a">                       \
68     <url value="http://www.bluez.org/"/>        \
69   </attribute>                                  \
70                                                 \
71   <attribute id="0x000b">                       \
72     <url value="http://www.bluez.org/"/>        \
73   </attribute>                                  \
74                                                 \
75   <attribute id="0x000c">                       \
76     <url value="http://www.bluez.org/"/>        \
77   </attribute>                                  \
78                                                 \
79   <attribute id="0x0100">                       \
80     <text value="Serial Port"/>                 \
81   </attribute>                                  \
82                                                 \
83   <attribute id="0x0101">                       \
84     <text value="Serial Port Service"/>         \
85   </attribute>                                  \
86                                                 \
87   <attribute id="0x0102">                       \
88      <text value="BlueZ"/>                      \
89   </attribute>                                  \
90                                                 \
91   <attribute id="0x0200">                       \
92     <sequence>                                  \
93       <uint16 value="0x0100"/>                  \
94     </sequence>                                 \
95   </attribute>                                  \
96                                                 \
97   <attribute id="0x0201">                       \
98      <uint32 value="0"/>                        \
99   </attribute>                                  \
100 </record>                                       \
101 '
102
103 bus = dbus.SystemBus()
104 manager = dbus.Interface(bus.get_object("org.bluez", "/"),
105                                                 "org.bluez.Manager")
106
107 if len(sys.argv) > 1:
108         path = manager.FindAdapter(sys.argv[1])
109 else:
110         path = manager.DefaultAdapter()
111
112 service = dbus.Interface(bus.get_object("org.bluez", path),
113                                                 "org.bluez.Service")
114
115 handle = service.AddRecord(xml)
116
117 print "Service record with handle 0x%04x added" % (handle)
118
119 print "Press CTRL-C to remove service record"
120
121 try:
122         time.sleep(1000)
123         print "Terminating session"
124 except:
125         pass
126
127 service.RemoveRecord(dbus.UInt32(handle))