Hi Luiz, > On Wed, Dec 17, 2014 at 12:19 PM, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > Hi Arman, > > On Wed, Dec 17, 2014 at 3:45 PM, Arman Uguray <armansito@xxxxxxxxxxxx> wrote: >> Hi Luiz, >> >>> On Wed, Dec 17, 2014 at 4:39 AM, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: >>> Hi Arman, >>> >>> On Wed, Dec 17, 2014 at 4:07 AM, Arman Uguray <armansito@xxxxxxxxxxxx> wrote: >>>> This patch adds btd_device_get_gatt_db and btd_device_get_gatt_client >>>> functions. >>>> --- >>>> src/device.c | 16 ++++++++++++++++ >>>> src/device.h | 2 ++ >>>> 2 files changed, 18 insertions(+) >>>> >>>> diff --git a/src/device.c b/src/device.c >>>> index 64591d0..854d9f3 100644 >>>> --- a/src/device.c >>>> +++ b/src/device.c >>>> @@ -4844,6 +4844,22 @@ GSList *btd_device_get_primaries(struct btd_device *device) >>>> return device->primaries; >>>> } >>>> >>>> +struct gatt_db *btd_device_get_gatt_db(struct btd_device *device) >>>> +{ >>>> + if (!device) >>>> + return NULL; >>>> + >>>> + return device->db; >>>> +} >>> >>> I guess the db can be get from the gatt_client, also perhaps we should >>> return a reference otherwise it should be const. >>> >> >> I think I'll keep this getter but make things const. My idea here is >> that the gatt_db will outlive the connection and if the device is >> bonded it won't get cleared. So it might still be useful. > > Sure no problem, Im just not sure if the driver would be interested in > the db without the client and as it is const it should not be possible > to register callbacks, actually const for the client perhaps is not a > good idea either for the same reason. > That's a good point. I guess I'll leave this one in like this though. Eventually when we have a better, more centralized in-memory cache that holds all the gatt-db's then profiles can get it from there. Until then, they can get it from btd_device if they want to. >>>> +struct bt_gatt_client *btd_device_get_gatt_client(struct btd_device *device) >>>> +{ >>>> + if (!device) >>>> + return NULL; >>>> + >>>> + return device->client; >>>> +} >>>> + >>>> void btd_device_gatt_set_service_changed(struct btd_device *device, >>>> uint16_t start, uint16_t end) >>>> { >>>> diff --git a/src/device.h b/src/device.h >>>> index 487bd27..a7fefee 100644 >>>> --- a/src/device.h >>>> +++ b/src/device.h >>>> @@ -67,6 +67,8 @@ const sdp_record_t *btd_device_get_record(struct btd_device *device, >>>> struct gatt_primary *btd_device_get_primary(struct btd_device *device, >>>> const char *uuid); >>>> GSList *btd_device_get_primaries(struct btd_device *device); >>>> +struct gatt_db *btd_device_get_gatt_db(struct btd_device *device); >>>> +struct bt_gatt_client *btd_device_get_gatt_client(struct btd_device *device); >>>> void btd_device_gatt_set_service_changed(struct btd_device *device, >>>> uint16_t start, uint16_t end); >>>> bool device_attach_att(struct btd_device *dev, GIOChannel *io); >>>> -- >>>> 2.2.0.rc0.207.ga3a616c >>>> >>>> -- >>>> 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 >>> >>> >>> >>> -- >>> Luiz Augusto von Dentz >> >> Arman > > > > -- > Luiz Augusto von Dentz > -- > 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 Arman -- 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