d6c07ec...
by
Luiz Augusto von Dentz <email address hidden>
shared/gatt-client: Fix removing services with no attributes
If a service has no attributes, like IPSS, just mark it as active and
skip doing any attribute discover.
feade20...
by
Luiz Augusto von Dentz <email address hidden>
core/device: Fix discarding valid events if the addres is updated
If a device gets paired while connected and that causes
device_update_addr dev->bdaddr gets overwritten with identity address
but some parts of the code may still use the initial address used to
connect so this makes device_addr_type_cmp check both addresses.
e4078df...
by
Luiz Augusto von Dentz <email address hidden>
core/gatt: Don't return an error if notification is already enabled
In case the client is already subscribed and attempt to register again
just return success as the handling should be the same as success.
f585e7a...
by
Luiz Augusto von Dentz <email address hidden>
client: Fix using RegisterProfile
RegisterProfile no longer works for registering GattProfile instances
as this functionality has been moved to RegisterApplication.
In order to make this more clear this replaces the (un)register-profile
with (un)register-application and enable ObjectManager, here is an
example how to register for 12345678-1234-5678-1234-56789abcdef1:
6b34bdd...
by
Luiz Augusto von Dentz <email address hidden>
shared/gatt-client: Fix not removing services that had disappeared
If a service cannot be found in the middle of the database the current
logic don't clear its range leaving it still active which cause upper
layer to believe its attributes are still available.
In order to fix the code now loads existing services into the pending
list and remove the services left at the end of the discovery:
Instead of discovering characteristics per service in a depth-first
fashion do it in breadth-first like its done for primary, secondary and
included.
As a bonus this can also speed up the discovery procedure since it will
result in less traffic over the air.
82c7e03...
by
Luiz Augusto von Dentz <email address hidden>
shared/gatt-db: Add gatt_db_insert_descriptor
This introduces gatt_db_insert_descriptor which is similar to
gatt_db_service_insert_descriptor but doesn't require the caller to
know the service where the attribute should be inserted.
87abac4...
by
Luiz Augusto von Dentz <email address hidden>
shared/gatt-db: Add gatt_db_insert_characteristic
This introduces gatt_db_insert_characteristic which is similar to
gatt_db_service_insert_charactersitic but doesn't require the caller to
know the service where the attribute should be inserted.