blob: d1feb1823362b06cebbe3240b15618bd0944c24c [file] [log] [blame]
BlueZ D-Bus Device API description
Copyright (C) 2004-2010 Marcel Holtmann <>
Copyright (C) 2005-2006 Johan Hedberg <>
Copyright (C) 2005-2006 Claudio Takahasi <>
Copyright (C) 2006-2007 Luiz von Dentz <>
Device hierarchy
Service org.bluez
Interface org.bluez.Device
Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
Methods dict GetProperties()
Returns all properties for the device. See the
properties section for available properties.
Possible Errors: org.bluez.Error.DoesNotExist
void SetProperty(string name, variant value)
Changes the value of the specified property. Only
properties that are listed a read-write are changeable.
On success this will emit a PropertyChanged signal.
Possible Errors: org.bluez.Error.DoesNotExist
dict DiscoverServices(string pattern)
This method starts the service discovery to retrieve
remote service records. The pattern parameter can
be used to specify specific UUIDs. And empty string
will look for the public browse group.
The return value is a dictionary with the record
handles as keys and the service record in XML format
as values. The key is uint32 and the value a string
for this dictionary.
Possible errors: org.bluez.Error.NotReady
void CancelDiscovery()
This method will cancel any previous DiscoverServices
Possible errors: org.bluez.Error.NotReady
void Disconnect()
This method disconnects a specific remote device by
terminating the low-level ACL connection. The use of
this method should be restricted to administrator
A DisconnectRequested signal will be sent and the
actual disconnection will only happen 2 seconds later.
This enables upper-level applications to terminate
their connections gracefully before the ACL connection
is terminated.
Possible errors: org.bluez.Error.NotConnected
array{object} ListNodes()
Returns list of device node object paths.
Possible errors: org.bluez.Error.InvalidArguments
object CreateNode(string uuid)
Creates a persistent device node binding with a
remote device. The actual support for the specified
UUID depends if the device driver has support for
persistent binding. At the moment only RFCOMM TTY
nodes are supported.
Possible errors: org.bluez.Error.InvalidArguments
void RemoveNode(object node)
Removes a persistent device node binding.
Possible errors: org.bluez.Error.InvalidArguments
Signals PropertyChanged(string name, variant value)
This signal indicates a changed value of the given
This signal will be sent when a low level
disconnection to a remote device has been requested.
The actual disconnection will happen 2 seconds later.
NodeCreated(object node)
Parameter is object path of created device node.
NodeRemoved(object node)
Parameter is object path of removed device node.
Properties string Address [readonly]
The Bluetooth device address of the remote device.
string Name [readonly]
The Bluetooth remote name. This value can not be
changed. Use the Alias property instead.
string Icon [readonly]
Proposed icon name according to the
icon naming specification.
uint32 Class [readonly]
The Bluetooth class of device of the remote device.
array{string} UUIDs [readonly]
List of 128-bit UUIDs that represents the available
remote services.
array{object} Services [readonly]
List of characteristics based services.
boolean Paired [readonly]
Indicates if the remote device is paired.
boolean Connected [readonly]
Indicates if the remote device is currently connected.
A PropertyChanged signal indicate changes to this
boolean Trusted [readwrite]
Indicates if the remote is seen as trusted. This
setting can be changed by the application.
boolean Blocked [readwrite]
If set to true any incoming connections from the
device will be immediately rejected. Any device
drivers will also be removed and no new ones will
be probed as long as the device is blocked.
string Alias [readwrite]
The name alias for the remote device. The alias can
be used to have a different friendly name for the
remote device.
In case no alias is set, it will return the remote
device name. Setting an empty string as alias will
convert it back to the remote device name.
When reseting the alias with an empty string, the
emitted PropertyChanged signal will show the remote
name again.
array{object} Nodes [readonly]
List of device node object paths.
object Adapter [readonly]
The object path of the adapter the device belongs to.
boolean LegacyPairing [readonly]
Set to true if the device only supports the pre-2.1
pairing mechanism. This property is useful in the
Adapter.DeviceFound signal to anticipate whether
legacy or simple pairing will occur.
Note that this property can exhibit false-positives
in the case of Bluetooth 2.1 (or newer) devices that
have disabled Extended Inquiry Response support.