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); |
}; |