From a7a0a74aa8d2a817ea9250dd3b93edf19ad0549e Mon Sep 17 00:00:00 2001 From: Paul Nettle Date: Mon, 8 Jan 2018 07:42:09 -0600 Subject: Improved handling of connection counts dealing with latent disconnects on startup. This includes a change to change to the behavior of change notifications for values, they no longer check for an active connection before transmitting - this is now up to the caller. --- src/GattCharacteristic.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/GattCharacteristic.h') diff --git a/src/GattCharacteristic.h b/src/GattCharacteristic.h index 7284631..97322cc 100644 --- a/src/GattCharacteristic.h +++ b/src/GattCharacteristic.h @@ -202,6 +202,9 @@ struct GattCharacteristic : GattInterface // // This is a generalized method that accepts a `GVariant *`. A templated version is available that supports common types called // `sendChangeNotificationValue()`. + // + // The caller may choose to consult HciAdapter::getInstance().getActiveConnectionCount() in order to determine if there are any + // active connections before sending a change notification. void sendChangeNotificationVariant(GDBusConnection *pBusConnection, GVariant *pNewValue) const; // Sends a change notification to subscribers to this characteristic @@ -209,15 +212,11 @@ struct GattCharacteristic : GattInterface // This is a helper method that accepts common types. For custom types, there is a form that accepts a `GVariant *`, called // `sendChangeNotificationVariant()`. // - // If there are no connections, this method returns doing nothing. + // The caller may choose to consult HciAdapter::getInstance().getActiveConnectionCount() in order to determine if there are any + // active connections before sending a change notification. template void sendChangeNotificationValue(GDBusConnection *pBusConnection, T value) const { - if (HciAdapter::getInstance().getActiveConnectionCount() == 0) - { - return; - } - GVariant *pVariant = Utils::gvariantFromByteArray(value); sendChangeNotificationVariant(pBusConnection, pVariant); } -- cgit v1.2.3