Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / platform / Linux / dbus / bluez / DbusBluez.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 # Copyright (c) 2020 Project CHIP Authors
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 # This file is constructed using the below method.
18 # 1. running bluetoothd
19 # 2. running two Bluetooth adapter with LE capability and create ble connection with Gatt servie and Gatt Char.
20 #    For the purposes of XML generation we use btvirt emulator with the LE only capability.
21 # Assume the LE chip is on hci 0
22 # we get the bluez XML via:
23 # sudo gdbus introspect -s -d org.bluez -r -o /org/bluez -x
24 # sudo gdbus introspect -s -d org.bluez -r -o /org/bluez/hci0 -x
25 # sudo gdbus introspect -s -d org.bluez -r -o /org/bluez/hci0/dev_00_AA_01_01_00_24 -x
26 # sudo gdbus introspect -s -d org.bluez -r -o /org/bluez/hci0/dev_00_AA_01_01_00_24/service0006 -x
27 # sudo gdbus introspect -s -d org.bluez -r -o /org/bluez/hci0/dev_00_AA_01_01_00_24/service0006/char0007 -x
28 # sudo gdbus introspect -s -d org.bluez -r -o /org/bluez/hci0/dev_00_AA_01_01_00_24/service0006/char0007/desc0009 -x
29 # sudo gdbus introspect -s -d org.bluez -r -o / -x
30 -->
31
32 <node>
33   <interface name="org.bluez.Adapter1">
34     <method name="StartDiscovery" />
35     <method name="SetDiscoveryFilter">
36       <arg name="properties" type="a{sv}" direction="in" />
37     </method>
38     <method name="StopDiscovery" />
39     <method name="RemoveDevice">
40       <arg name="device" type="o" direction="in" />
41     </method>
42     <method name="GetDiscoveryFilters">
43       <arg name="filters" type="as" direction="out" />
44     </method>
45     <method name="ConnectDevice">
46       <arg name="properties" type="a{sv}" direction="in" />
47     </method>
48
49     <property name="Address" type="s" access="read" />
50     <property name="AddressType" type="s" access="read" />
51     <property name="Name" type="s" access="read" />
52     <property name="Alias" type="s" access="readwrite" />
53     <property name="Class" type="u" access="read" />
54     <property name="Powered" type="b" access="readwrite" />
55     <property name="Discoverable" type="b" access="readwrite" />
56     <property name="DiscoverableTimeout" type="u" access="readwrite" />
57     <property name="Pairable" type="b" access="readwrite" />
58     <property name="PairableTimeout" type="u" access="readwrite" />
59     <property name="Discovering" type="b" access="read" />
60     <property name="UUIDs" type="as" access="read" />
61     <property name="Modalias" type="s" access="read" />
62     <property name="Roles" type="as" access="read" />
63   </interface>
64
65   <interface name="org.bluez.Device1">
66     <method name="Disconnect" />
67     <method name="Connect" />
68     <method name="ConnectProfile">
69       <arg name="UUID" type="s" direction="in" />
70     </method>
71     <method name="DisconnectProfile">
72       <arg name="UUID" type="s" direction="in" />
73     </method>
74     <method name="Pair" />
75     <method name="CancelPairing" />
76     <property name="Address" type="s" access="read" />
77     <property name="AddressType" type="s" access="read" />
78     <property name="Name" type="s" access="read" />
79     <property name="Alias" type="s" access="readwrite" />
80     <property name="Class" type="u" access="read" />
81     <property name="Appearance" type="q" access="read" />
82     <property name="Icon" type="s" access="read" />
83     <property name="Paired" type="b" access="read" />
84     <property name="Trusted" type="b" access="readwrite" />
85     <property name="Blocked" type="b" access="readwrite" />
86     <property name="LegacyPairing" type="b" access="read" />
87     <property name="RSSI" type="n" access="read" />
88     <property name="Connected" type="b" access="read" />
89     <property name="UUIDs" type="as" access="read" />
90     <property name="Modalias" type="s" access="read" />
91     <property name="Adapter" type="o" access="read" />
92     <property name="ManufacturerData" type="a{qv}" access="read" />
93     <property name="ServiceData" type="a{sv}" access="read" />
94     <property name="TxPower" type="n" access="read" />
95     <property name="ServicesResolved" type="b" access="read" />
96     <property name="AdvertisingFlags" type="ay" access="read" />
97     <property name="AdvertisingData" type="a{yv}" access="read" />
98     <property name="WakeAllowed" type="b" access="readwrite" />
99   </interface>
100
101   <interface name="org.bluez.GattManager1">
102     <method name="RegisterApplication">
103       <arg name="application" type="o" direction="in" />
104       <arg name="options" type="a{sv}" direction="in" />
105     </method>
106     <method name="UnregisterApplication">
107       <arg name="application" type="o" direction="in" />
108     </method>
109   </interface>
110
111   <interface name="org.bluez.GattService1">
112     <property name="UUID" type="s" access="read" />
113     <property name="Device" type="o" access="read" />
114     <property name="Primary" type="b" access="read" />
115     <!-- <property name="Includes" type="ao" access="read" /> -->
116   </interface>
117
118   <interface name="org.bluez.GattCharacteristic1">
119     <method name="ReadValue">
120       <arg name="options" type="a{sv}" direction="in"/>
121       <arg name="value" type="ay" direction="out">
122         <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
123       </arg>
124     </method>
125     <method name="WriteValue">
126       <arg name="value" type="ay" direction="in">
127         <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
128       </arg>
129       <arg name="options" type="a{sv}" direction="in"/>
130     </method>
131     <method name="AcquireWrite">
132       <arg name="options" type="a{sv}" direction="in" />
133       <arg name="fd" type="h" direction="out" />
134       <arg name="mtu" type="q" direction="out" />
135     </method>
136     <method name="AcquireNotify">
137       <arg name="options" type="a{sv}" direction="in" />
138       <arg name="fd" type="h" direction="out" />
139       <arg name="mtu" type="q" direction="out" />
140     </method>
141     <method name="StartNotify" />
142     <method name="StopNotify" />
143     <method name="Confirm" />
144     <property name="UUID" type="s" access="read" />
145     <property name="Service" type="o" access="read" />
146     <property name="Value" type="ay" access="read">
147       <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
148     </property>
149     <property name="Notifying" type="b" access="read" />
150     <property name="Flags" type="as" access="read" />
151     <property name="WriteAcquired" type="b" access="read" />
152     <property name="NotifyAcquired" type="b" access="read" />
153   </interface>
154
155   <interface name="org.bluez.GattDescriptor1">
156     <method name="ReadValue">
157       <arg name="options" type="a{sv}" direction="in"/>
158       <arg name="value" type="ay" direction="out">
159         <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
160       </arg>
161     </method>
162     <method name="WriteValue">
163       <arg name="value" type="ay" direction="in">
164         <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
165       </arg>
166       <arg name="options" type="a{sv}" direction="in"/>
167     </method>
168     <property name="UUID" type="s" access="read" />
169     <property name="Characteristic" type="o" access="read" />
170     <property name="Value" type="ay" access="read">
171       <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
172     </property>
173   </interface>
174
175   <interface name="org.bluez.LEAdvertisement1">
176     <method name="Release"/>
177     <property name="Type" type="s" access="read"/>
178     <property name="ServiceUUIDs" type="as" access="read">
179       <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
180     </property>
181     <property name="ManufacturerData" type="a{qv}" access="read"/>
182     <property name="SolicitUUIDs" type="as" access="read"/>
183     <property name="ServiceData" type="a{sv}" access="read"/>
184     <property name="Data" type="a{yay}" access="read"/>
185     <property name="Discoverable" type="b" access="read"/>
186     <property name="DiscoverableTimeout" type="q" access="read"/>
187     <property name="Includes" type="as" access="read"/>
188     <property name="LocalName" type="s" access="read"/>
189     <property name="Appearance" type="q" access="read"/>
190     <property name="Duration" type="q" access="read"/>
191     <property name="Timeout" type="q" access="read"/>
192     <!-- <property name="SecondaryChannel" type="s" access="read"/> -->
193   </interface>
194
195   <interface name="org.bluez.LEAdvertisingManager1">
196     <method name="RegisterAdvertisement">
197       <arg name="advertisement" type="o" direction="in" />
198       <arg name="options" type="a{sv}" direction="in" />
199     </method>
200     <method name="UnregisterAdvertisement">
201       <arg name="service" type="o" direction="in" />
202     </method>
203     <property name="ActiveInstances" type="y" access="read" />
204     <property name="SupportedInstances" type="y" access="read" />
205     <property name="SupportedIncludes" type="as" access="read" />
206     <property name="SupportedSecondaryChannels" type="as" access="read" />
207   </interface>
208
209   <interface name="org.freedesktop.DBus.Properties">
210     <method name="Get">
211       <arg name="interface" type="s" direction="in" />
212       <arg name="name" type="s" direction="in" />
213       <arg name="value" type="v" direction="out" />
214     </method>
215     <method name="Set">
216       <arg name="interface" type="s" direction="in" />
217       <arg name="name" type="s" direction="in" />
218       <arg name="value" type="v" direction="in" />
219     </method>
220     <method name="GetAll">
221       <arg name="interface" type="s" direction="in" />
222       <arg name="properties" type="a{sv}" direction="out" />
223     </method>
224     <signal name="PropertiesChanged">
225       <arg name="interface" type="s" />
226       <arg name="changed_properties" type="a{sv}" />
227       <arg name="invalidated_properties" type="as" />
228     </signal>
229   </interface>
230
231   <interface name="org.bluez.ProfileManager1">
232     <method name="RegisterProfile">
233       <arg name="profile" type="o" direction="in" />
234       <arg name="UUID" type="s" direction="in" />
235       <arg name="options" type="a{sv}" direction="in" />
236     </method>
237     <method name="UnregisterProfile">
238       <arg name="profile" type="o" direction="in" />
239     </method>
240   </interface>
241
242   <interface name="org.freedesktop.DBus.ObjectManager">
243     <method name="GetManagedObjects">
244       <arg name="objects" type="a{oa{sa{sv}}}" direction="out" />
245     </method>
246     <signal name="InterfacesAdded">
247       <arg name="object" type="o" />
248       <arg name="interfaces" type="a{sa{sv}}" />
249     </signal>
250     <signal name="InterfacesRemoved">
251       <arg name="object" type="o" />
252       <arg name="interfaces" type="as" />
253     </signal>
254   </interface>
255 </node>