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..6dc7901c1542bcf517814a6929a276214c2a924f 100644 |
--- a/device/bluetooth/bluetooth_remote_gatt_service_mac.h |
+++ b/device/bluetooth/bluetooth_remote_gatt_service_mac.h |
@@ -9,6 +9,7 @@ |
#include <vector> |
+#include "base/containers/scoped_ptr_hash_map.h" |
#include "base/mac/scoped_nsobject.h" |
#include "device/bluetooth/bluetooth_remote_gatt_service.h" |
@@ -17,7 +18,7 @@ |
namespace device { |
class BluetoothDevice; |
-class BluetoothGattCharacteristic; |
+class BluetoothRemoteGattCharacteristicMac; |
class BluetoothLowEnergyDeviceMac; |
class BluetoothTestMac; |
@@ -45,6 +46,13 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothRemoteGattServiceMac |
friend BluetoothLowEnergyDeviceMac; |
friend BluetoothTestMac; |
+ // Called by the BluetoothLowEnergyDeviceMac instance when the characteristics |
+ // has been discovered. |
+ void DidDiscoverCharacteristics(); |
+ |
+ // Returns true if the characteristics has been discovered. |
+ bool IsDiscoveryComplete(); |
+ |
// Returns CBService. |
CBService* GetService() const; |
@@ -52,11 +60,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); |
}; |