Re: [PATCH v4 01/10] Battery: Add Battery Service Gatt Client
From: Chen Ganir <hidden>
Date: 2012-08-16 12:14:52
On 08/16/2012 02:39 PM, Johan Hedberg wrote:
Hi Chen, On Thu, Aug 16, 2012, chen.ganir@ti.com wrote:quoted
--- a/doc/device-api.txt +++ b/doc/device-api.txt@@ -179,3 +179,8 @@ Properties string Address [readonly] 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. + + array{string} Batteries [readonly] + + List of device battery object paths that represents the available + batteries on the remote device.I don't think it's ok to pollute the Device interface or src/device.c with profile-specific details. That should happen in profile-specific plugins and interfaces. Since we're switching over to object manager maybe an interface/property like this isn't needed at all? (even if it would be needed the type should be array{object} and not array{string}
You are correct, the array should be object instead of string. However,
i fail to understand why the object manager prevents this from getting
accepted - do you have a time estimation when the object manager should
be active or available ? I do not think this patch set should be
deferred until we have changed the dbus API.
I prefer this way of putting the batteries below the device, since it is
obvious which battery belongs to each device. The other option i can
think of is to have another interface registered on the device object path:
Service org.bluez
Interface org.bluez.Batteries
Object path [variable prefix]/{hci0,..}/dev_XX_XX_XX_XX_XX_XX
Methods dict GetProperties()
Returns all properties for the interface. See the
Properties section for the available properties.
Signals ProperyChanged(string name, variant value)
This signal indicates a changed value of the given
property.
Properties array{object} Batteries [readonly]
List of device battery object paths that represents the available
batteries on the remote devices.
Service org.bluez
Interface org.bluez.Battery
Object path [variable prefix]/{hci0,..}/dev_XX_XX_XX_XX_XX_XX/BATT-NN-DDDD
Methods dict GetProperties()
Returns all properties for the interface. See the
Properties section for the available properties.
Signals PropertyChanged(string name, variant value)
This signal indicates a changed value of the given
property.
Properties byte Level [readonly]
Battery level (0-100).
Any other suggestion ?
Johan
-- BR, Chen Ganir Texas Instruments