Re: [RFC] doc: Add EIR to device properties

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 27, 2014 at 12:55 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:

>> This patch proposes an extension to the D-Bus Device API to allow
>> an application access to the last EIR data received from a device
>> in inquiry or advertising mode.
>>
> in general I have no objections in exposing the EIR and AD information. However I do not like to use EIR as property key. I know that on mgmt API we simply went with EIR_Data, but on the D-Bus API we most likely need to find a name that is a bit more generic and allows to represent EIR and AD information.
>

Thinking about this a little bit more, I'm not sure this should be a
Device property either. The advertisement data isn't really a property
of the device, but a property of the advertisement itself.

A peripheral could theoretically send different advertisements, a
weird example might be a peripheral sending a non-connectable
undirected advertisement generally, and a connectable directed
advertisement to us directly, with different AD.

This seems to fold back nicely into the discussion about a "Find
Devices" API, intended for applications and separate from the
StartDiscovery API. If that were an "agent" mode, it could look
something like this:

    <- Search( { Data: "FF4C000214" }, agent_object_path )
    -> DeviceFound( device_object_path, data )
    -> DeviceFound( device_object_path, data )
    -> DeviceFound( device_object_path, data )

Where data in the agent method is the unparsed advertisement data, if
the application is interested in it. The above example is looking for
an iBeacon by presence of a specific data structure, so the app
probably wants the unparsed data parameter and doesn't care so much
about the object path.

But looking for heart rate monitors might be:

    <- Search( { UUID: "180D" }, agent_object_path )
    -> DeviceFound( device_object_path, data )
    -> DeviceFound( device_object_path, data )
    -> DeviceFound( device_object_path, data )

In which case the application probably just wants the device object path.


If this is broadly along the lines you're thinking, I'll draft a doc
to begin discussion.

Scott
-- 
Have you ever, ever felt like this?
Had strange things happen?  Are you going round the twist?
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux