Re: [Bluez-devel] D-Bus interfaces

Marcel Holtmann
2004-02-11T13:28:49Z

Hi Fredrik,

> It's important for the Gnome applications to be able to do both
> configuration and device management. These are two separate things.
>
> Configuration management is about the persistent configurations
> (past and present), basically those configrations stored in hcid.conf.
> The Gnome applications must be able to list, add, remove and modify
> such configurations.
>
> There may exist configurations for devices that are not attached, and
> there may also be devices attached that do not have any specific
> configuration. The Gnome applications must be able to deal with these
> kinds of situations intelligently.
>
> Device management is about the devices currently attached, basically
> a light version of the HCI functionality in the Bluetooth lib. The
> Gnome applications should be able to list, probe and control such
> devices, but probably only at a very basic/high level through DBus.
>
> Your idea of having device managment in "org.bluetooth.hci" is good,
> I think. However, we will have to decide on what that interface looks
> like, because as noted in my previous e-mail, the HCI is not straight
> forward for a DBus interface. Many things are too low-level.
>
> The configuration management is probably better suited for another
> interface, possibly "org.bluetooth.conf".
>
> Name caches, pairing etc. also have several requirements to address.
> For example, requesting a pairing procedure is a typical device management
> task. But managing paired devices (listing, removing etc.) is typically a
> configuration management kind of thing.

for the real device management on HCI level we don't need any other
interface. All that we need is in the Bluetooth library and the new
version of the library brings full 1.2 support.

What I expect from a D-Bus interface is that it hides the HCI low level
tasks and combines it with storing of settings etc. for later use. The
setting of the local device is a good example. You can do this with the
HCI API, but it will only set the name and after a reboot it is gone and
have done again. If you set the local name through the D-Bus interface
than this name will be stored in somekind of database and the low level
HCI API will be used to set it. On reboot the hcid will retrieve these
setting and set the local name.

The other important part is the trusted devices management, which is not
defined in any part of the Bluetooth specification. From the low level
stuff it is easy, because we have to store the link keys and send them
on requests. For the UI level the link key itself is unimportant, but
the trusted devices must be manageable.

I think we should summarise what tasks an UI have to do and then design
a D-Bus interface from it.

Regards

Marcel

-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.