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

Unified Diff: device/bluetooth/bluetooth_gatt_connection.h

Issue 1292263002: bluetooth: Create base class BluetoothDevice::CreateGattConnection impl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bt-adapter-
Patch Set: Updated patchset dependency Created 5 years, 4 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_connection.h
diff --git a/device/bluetooth/bluetooth_gatt_connection.h b/device/bluetooth/bluetooth_gatt_connection.h
index 1f90636ccc342ac1c33625ceb8c62f02d98482a2..c83fdf0996411fb1191e0ff68a24d52ecc2be9a9 100644
--- a/device/bluetooth/bluetooth_gatt_connection.h
+++ b/device/bluetooth/bluetooth_gatt_connection.h
@@ -12,6 +12,8 @@
namespace device {
+class BluetoothAdapter;
+
// BluetoothGattConnection represents a GATT connection to a Bluetooth device
// that has GATT services. Instances are obtained from a BluetoothDevice,
// and the connection is kept alive as long as there is at least one
@@ -20,6 +22,9 @@ namespace device {
// operating system (e.g. due to user action).
class DEVICE_BLUETOOTH_EXPORT BluetoothGattConnection {
public:
+ BluetoothGattConnection(BluetoothAdapter* adapter,
Jeffrey Yasskin 2015/08/19 22:49:46 Take this as a scoped_refptr<> to make it clear th
scheib 2015/09/13 02:40:28 Done.
+ const std::string& device_address);
+
// Destructor automatically closes this GATT connection. If this is the last
// remaining GATT connection and this results in a call to the OS, that call
// may not always succeed. Users can make an explicit call to
@@ -29,19 +34,26 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothGattConnection {
// Returns the Bluetooth address of the device that this connection is open
// to.
- virtual std::string GetDeviceAddress() const = 0;
+ std::string GetDeviceAddress() const;
- // Returns true if this connection is open.
- virtual bool IsConnected() = 0;
+ // Returns true if this GATT connection is open.
+ virtual bool IsConnected();
// Disconnects this GATT connection. The device may still remain connected due
// to other GATT connections.
- virtual void Disconnect() = 0;
+ virtual void Disconnect();
protected:
- BluetoothGattConnection();
+ // The Bluetooth adapter that this connection is associated with. A reference
+ // is held because BluetoothGattConnection keeps the connection alive.
+ scoped_refptr<BluetoothAdapter> adapter_;
Jeffrey Yasskin 2015/08/19 22:49:46 I'm nervous about holding a reference to Bluetooth
scheib 2015/09/13 02:40:28 The adapter doesn't own the connections. The conne
+
+ // Bluetooth address of the underlying device.
+ std::string device_address_;
private:
+ bool already_decremented_connection_reference_on_device_ = false;
Jeffrey Yasskin 2015/08/19 22:49:46 Call this something like "owns_reference_for_conne
scheib 2015/09/13 02:40:28 Done.
+
DISALLOW_COPY_AND_ASSIGN(BluetoothGattConnection);
};

Powered by Google App Engine
This is Rietveld 408576698