bluez/doc/oob-api.txt
Szymon Janc 79b5b7df52 dbusoob: Create device object and return it when adding OOB data
With recent change on how new device objects are created it is no
longer possible to create device object from string with
org.bluez.Adapter interface. When adding OOB data for specified
address device object is created if it was not yet existing.

Path to object is returned in AddRemoteData to avoid need for extra
FindDevice() call on org.bluez.Adapter to get object maching specified
address.
2012-11-13 10:08:46 +02:00

90 lines
2.3 KiB
Plaintext

BlueZ D-Bus Out Of Band Pairing API description
===============================================
Copyright (C) 2011 Szymon Janc <szymon.janc@tieto.com> for ST-Ericsson
Copyright (C) 2012 Tieto Poland
Currently only Secure Simple Pairing is supported. This might change when white
paper describing OOB pairing for Bluetooth Low Energy will become available.
Out Of Band hierarchy
=====================
Service org.bluez
Interface org.bluez.OutOfBand
Object path [variable prefix]/{hci0,hci1,...}
Methods dict ReadLocalData()
This method reads local OOB data from adapter. Return
value is a dictionary. Following keys are possible:
array{byte} Hash:
16 bytes hash blob.
array{byte} Randomizer:
16 bytes randomizer blob.
Other data that can be transmitted via OOB mechanism
can be obtained from org.bluez.Adapter interface.
Note: This method will generate and return new data
every time it is called. Data received in previous
calls is invalidated and cannot be used for pairing.
Possible errors: org.bluez.Error.Failed
org.bluez.Error.InProgress
org.bluez.Error.NotSupported
object AddRemoteData(string address, dict data)
This method adds new Out Of Band data for
specified address. If data for specified address
already exists it will be overwritten with new one.
If device object with given address does not exist yet
it will be created.
Returns the object path of device for given address.
All data is optional.
possible keys:
array{byte} Hash:
16 bytes hash blob, it is used as is
so the size and byte order must match.
array{byte} Randomizer:
16 bytes randomizer blob, it is used as
is so the size and byte order must
match. If Randomizer is provided Hash
also needs to be provided.
uint32 Class:
The Bluetooth class of device of the
remote device.
string Name:
Remote device name.
Possible errors: org.bluez.Error.Failed
org.bluez.Error.InvalidArguments
org.bluez.Error.AlreadyExists
org.bluez.Error.NotSupported
void RemoveRemoteData(string address)
This method removes Out Of Band data for specified
address. If data for specified address does not exist
nothing is removed.
Possible errors: org.bluez.Error.Failed
org.bluez.Error.InvalidArguments
org.bluez.Error.NotSupported