Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Unified Diff: device/bluetooth/bluetooth_gatt_notify_session.h

Issue 2051333004: Implement BluetoothGattNotifySession::Stop on Android, 2nd attempt (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make the rest of the methods in BluetoothGattNotifySession virtual Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: device/bluetooth/bluetooth_gatt_notify_session.h
diff --git a/device/bluetooth/bluetooth_gatt_notify_session.h b/device/bluetooth/bluetooth_gatt_notify_session.h
index 4d1ddf692e4c95c600f4fa5d560952f8051c3475..c6f744b9d1c9567660803b900d2ef44724853318 100644
--- a/device/bluetooth/bluetooth_gatt_notify_session.h
+++ b/device/bluetooth/bluetooth_gatt_notify_session.h
@@ -9,35 +9,45 @@
#include "base/callback.h"
#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
#include "device/bluetooth/bluetooth_export.h"
namespace device {
+class BluetoothRemoteGattCharacteristic;
+
// A BluetoothGattNotifySession represents an active session for listening
// to value updates from GATT characteristics that support notifications and/or
// indications. Instances are obtained by calling
// BluetoothRemoteGattCharacteristic::StartNotifySession.
class DEVICE_BLUETOOTH_EXPORT BluetoothGattNotifySession {
public:
+ explicit BluetoothGattNotifySession(
+ base::WeakPtr<BluetoothRemoteGattCharacteristic> characteristic);
+
// Destructor automatically stops this session.
virtual ~BluetoothGattNotifySession();
// Returns the identifier of the associated characteristic.
- virtual std::string GetCharacteristicIdentifier() const = 0;
+ virtual std::string GetCharacteristicIdentifier() const;
+
+ // Returns the associated characteristic.
ortuno 2016/07/28 21:59:30 Explain when this returns nullptr.
tommyt 2016/08/01 11:39:21 Done.
+ virtual BluetoothRemoteGattCharacteristic* GetCharacteristic() const;
// Returns true if this session is active.
- virtual bool IsActive() = 0;
+ virtual bool IsActive();
ortuno 2016/07/28 21:59:30 Please add a comment explaining what it means for
tommyt 2016/08/01 11:39:21 Done.
// Stops this session and calls |callback| upon completion. This won't
// necessarily stop value updates from the characteristic -- since updates
// are shared among BluetoothGattNotifySession instances -- but it will
// terminate this session.
- virtual void Stop(const base::Closure& callback) = 0;
-
- protected:
- BluetoothGattNotifySession();
+ virtual void Stop(const base::Closure& callback);
private:
+ // The associated characteristic.
+ base::WeakPtr<BluetoothRemoteGattCharacteristic> characteristic_;
+ std::string characteristic_id_;
+
DISALLOW_COPY_AND_ASSIGN(BluetoothGattNotifySession);
};

Powered by Google App Engine
This is Rietveld 408576698