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

Unified Diff: device/bluetooth/bluetooth_remote_gatt_service_mac.h

Issue 1950033002: bluetooth: mac: Initial BluetoothRemoteGattCharacteristicMac implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@servicescan_cleanup
Patch Set: Addressing comments Created 4 years, 6 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_remote_gatt_service_mac.h
diff --git a/device/bluetooth/bluetooth_remote_gatt_service_mac.h b/device/bluetooth/bluetooth_remote_gatt_service_mac.h
index f5add19df25f1f481358f48c45298dee5513d635..2a8a6af02a2444083b000e31732d8e0d3fcbf6c5 100644
--- a/device/bluetooth/bluetooth_remote_gatt_service_mac.h
+++ b/device/bluetooth/bluetooth_remote_gatt_service_mac.h
@@ -9,15 +9,17 @@
#include <vector>
+#include "base/containers/scoped_ptr_hash_map.h"
#include "base/mac/scoped_nsobject.h"
#include "device/bluetooth/bluetooth_remote_gatt_service.h"
+@class CBPeripheral;
@class CBService;
namespace device {
class BluetoothDevice;
-class BluetoothGattCharacteristic;
+class BluetoothRemoteGattCharacteristicMac;
class BluetoothLowEnergyDeviceMac;
class BluetoothTestMac;
@@ -45,6 +47,18 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothRemoteGattServiceMac
friend BluetoothLowEnergyDeviceMac;
friend BluetoothTestMac;
+ // Starts discovering characteristics by calling CoreBluetooth.
+ void DiscoverCharacteristics();
+
+ // Called by the BluetoothLowEnergyDeviceMac instance when the characteristics
+ // has been discovered.
+ void DidDiscoverCharacteristics();
+
+ // Returns true if the characteristics has been discovered.
+ bool IsDiscoveryComplete();
+
+ // Returns CBPeripheral.
+ CBPeripheral* GetPeripheral() const;
// Returns CBService.
CBService* GetService() const;
@@ -52,11 +66,17 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothRemoteGattServiceMac
BluetoothLowEnergyDeviceMac* bluetooth_device_mac_;
// A service from CBPeripheral.services.
base::scoped_nsobject<CBService> service_;
+ // Map of characteristics, keyed by characteristic identifier.
+ base::ScopedPtrHashMap<std::string,
+ std::unique_ptr<BluetoothRemoteGattCharacteristicMac>>
+ gatt_characteristic_macs_;
bool is_primary_;
// Service identifier.
std::string identifier_;
// Service UUID.
BluetoothUUID uuid_;
+ // Is true if the characteristics has been discovered.
+ bool is_discovery_complete_;
DISALLOW_COPY_AND_ASSIGN(BluetoothRemoteGattServiceMac);
};

Powered by Google App Engine
This is Rietveld 408576698