1 BlueZ D-Bus Device API description 2 ********************************** 3 4 Copyright (C) 2004-2010 Marcel Holtmann <marcel (a] holtmann.org> 5 Copyright (C) 2005-2006 Johan Hedberg <johan.hedberg (a] nokia.com> 6 Copyright (C) 2005-2006 Claudio Takahasi <claudio.takahasi (a] indt.org.br> 7 Copyright (C) 2006-2007 Luiz von Dentz <luiz.dentz (a] indt.org.br> 8 9 10 Device hierarchy 11 ================ 12 13 Service org.bluez 14 Interface org.bluez.Device 15 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX 16 17 Methods dict GetProperties() 18 19 Returns all properties for the device. See the 20 properties section for available properties. 21 22 Possible Errors: org.bluez.Error.DoesNotExist 23 org.bluez.Error.InvalidArguments 24 25 void SetProperty(string name, variant value) 26 27 Changes the value of the specified property. Only 28 properties that are listed a read-write are changeable. 29 On success this will emit a PropertyChanged signal. 30 31 Possible Errors: org.bluez.Error.DoesNotExist 32 org.bluez.Error.InvalidArguments 33 34 dict DiscoverServices(string pattern) 35 36 This method starts the service discovery to retrieve 37 remote service records. The pattern parameter can 38 be used to specify specific UUIDs. And empty string 39 will look for the public browse group. 40 41 The return value is a dictionary with the record 42 handles as keys and the service record in XML format 43 as values. The key is uint32 and the value a string 44 for this dictionary. 45 46 Possible errors: org.bluez.Error.NotReady 47 org.bluez.Error.Failed 48 org.bluez.Error.InProgress 49 50 void CancelDiscovery() 51 52 This method will cancel any previous DiscoverServices 53 transaction. 54 55 Possible errors: org.bluez.Error.NotReady 56 org.bluez.Error.Failed 57 org.bluez.Error.NotAuthorized 58 59 void Disconnect() 60 61 This method disconnects a specific remote device by 62 terminating the low-level ACL connection. The use of 63 this method should be restricted to administrator 64 use. 65 66 A DisconnectRequested signal will be sent and the 67 actual disconnection will only happen 2 seconds later. 68 This enables upper-level applications to terminate 69 their connections gracefully before the ACL connection 70 is terminated. 71 72 Possible errors: org.bluez.Error.NotConnected 73 74 array{object} ListNodes() 75 76 Returns list of device node object paths. 77 78 Possible errors: org.bluez.Error.InvalidArguments 79 org.bluez.Error.Failed 80 org.bluez.Error.OutOfMemory 81 82 object CreateNode(string uuid) 83 84 Creates a persistent device node binding with a 85 remote device. The actual support for the specified 86 UUID depends if the device driver has support for 87 persistent binding. At the moment only RFCOMM TTY 88 nodes are supported. 89 90 Possible errors: org.bluez.Error.InvalidArguments 91 org.bluez.Error.NotSupported 92 93 void RemoveNode(object node) 94 95 Removes a persistent device node binding. 96 97 Possible errors: org.bluez.Error.InvalidArguments 98 org.bluez.Error.DoesNotExist 99 100 Signals PropertyChanged(string name, variant value) 101 102 This signal indicates a changed value of the given 103 property. 104 105 DisconnectRequested() 106 107 This signal will be sent when a low level 108 disconnection to a remote device has been requested. 109 The actual disconnection will happen 2 seconds later. 110 111 NodeCreated(object node) 112 113 Parameter is object path of created device node. 114 115 NodeRemoved(object node) 116 117 Parameter is object path of removed device node. 118 119 Properties string Address [readonly] 120 121 The Bluetooth device address of the remote device. 122 123 string Name [readonly] 124 125 The Bluetooth remote name. This value can not be 126 changed. Use the Alias property instead. 127 128 string Icon [readonly] 129 130 Proposed icon name according to the freedesktop.org 131 icon naming specification. 132 133 uint32 Class [readonly] 134 135 The Bluetooth class of device of the remote device. 136 137 array{string} UUIDs [readonly] 138 139 List of 128-bit UUIDs that represents the available 140 remote services. 141 142 array{object} Services [readonly] 143 144 List of characteristics based services. 145 146 boolean Paired [readonly] 147 148 Indicates if the remote device is paired. 149 150 boolean Connected [readonly] 151 152 Indicates if the remote device is currently connected. 153 A PropertyChanged signal indicate changes to this 154 status. 155 156 boolean Trusted [readwrite] 157 158 Indicates if the remote is seen as trusted. This 159 setting can be changed by the application. 160 161 boolean Blocked [readwrite] 162 163 If set to true any incoming connections from the 164 device will be immediately rejected. Any device 165 drivers will also be removed and no new ones will 166 be probed as long as the device is blocked. 167 168 string Alias [readwrite] 169 170 The name alias for the remote device. The alias can 171 be used to have a different friendly name for the 172 remote device. 173 174 In case no alias is set, it will return the remote 175 device name. Setting an empty string as alias will 176 convert it back to the remote device name. 177 178 When reseting the alias with an empty string, the 179 emitted PropertyChanged signal will show the remote 180 name again. 181 182 array{object} Nodes [readonly] 183 184 List of device node object paths. 185 186 object Adapter [readonly] 187 188 The object path of the adapter the device belongs to. 189 190 boolean LegacyPairing [readonly] 191 192 Set to true if the device only supports the pre-2.1 193 pairing mechanism. This property is useful in the 194 Adapter.DeviceFound signal to anticipate whether 195 legacy or simple pairing will occur. 196 197 Note that this property can exhibit false-positives 198 in the case of Bluetooth 2.1 (or newer) devices that 199 have disabled Extended Inquiry Response support. 200