Chromium Code Reviews| 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); |
| }; |