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

Side by Side Diff: device/bluetooth/bluetooth_remote_gatt_service_mac.h

Issue 2071853002: Revert of bluetooth: mac: Initial BluetoothRemoteGattCharacteristicMac implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@servicescan_cleanup
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_MAC_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_MAC_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_MAC_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_MAC_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/containers/scoped_ptr_hash_map.h"
13 #include "base/mac/scoped_nsobject.h" 12 #include "base/mac/scoped_nsobject.h"
14 #include "device/bluetooth/bluetooth_remote_gatt_service.h" 13 #include "device/bluetooth/bluetooth_remote_gatt_service.h"
15 14
16 @class CBCharacteristic;
17 @class CBPeripheral;
18 @class CBService; 15 @class CBService;
19 16
20 namespace device { 17 namespace device {
21 18
22 class BluetoothAdapterMac;
23 class BluetoothDevice; 19 class BluetoothDevice;
24 class BluetoothRemoteGattCharacteristicMac; 20 class BluetoothGattCharacteristic;
25 class BluetoothLowEnergyDeviceMac; 21 class BluetoothLowEnergyDeviceMac;
26 class BluetoothTestMac; 22 class BluetoothTestMac;
27 23
28 class DEVICE_BLUETOOTH_EXPORT BluetoothRemoteGattServiceMac 24 class DEVICE_BLUETOOTH_EXPORT BluetoothRemoteGattServiceMac
29 : public BluetoothRemoteGattService { 25 : public BluetoothRemoteGattService {
30 public: 26 public:
31 BluetoothRemoteGattServiceMac( 27 BluetoothRemoteGattServiceMac(
32 BluetoothLowEnergyDeviceMac* bluetooth_device_mac, 28 BluetoothLowEnergyDeviceMac* bluetooth_device_mac,
33 CBService* service, 29 CBService* service,
34 bool is_primary); 30 bool is_primary);
35 ~BluetoothRemoteGattServiceMac() override; 31 ~BluetoothRemoteGattServiceMac() override;
36 32
37 // BluetoothRemoteGattService override. 33 // BluetoothRemoteGattService override.
38 std::string GetIdentifier() const override; 34 std::string GetIdentifier() const override;
39 BluetoothUUID GetUUID() const override; 35 BluetoothUUID GetUUID() const override;
40 bool IsPrimary() const override; 36 bool IsPrimary() const override;
41 BluetoothDevice* GetDevice() const override; 37 BluetoothDevice* GetDevice() const override;
42 std::vector<BluetoothRemoteGattCharacteristic*> GetCharacteristics() 38 std::vector<BluetoothRemoteGattCharacteristic*> GetCharacteristics()
43 const override; 39 const override;
44 std::vector<BluetoothRemoteGattService*> GetIncludedServices() const override; 40 std::vector<BluetoothRemoteGattService*> GetIncludedServices() const override;
45 BluetoothRemoteGattCharacteristic* GetCharacteristic( 41 BluetoothRemoteGattCharacteristic* GetCharacteristic(
46 const std::string& identifier) const override; 42 const std::string& identifier) const override;
47 43
48 private: 44 private:
49 friend BluetoothLowEnergyDeviceMac; 45 friend BluetoothLowEnergyDeviceMac;
50 friend BluetoothTestMac; 46 friend BluetoothTestMac;
51 47
52 // Starts discovering characteristics by calling CoreBluetooth.
53 void DiscoverCharacteristics();
54 // Called by the BluetoothLowEnergyDeviceMac instance when the characteristics
55 // has been discovered.
56 void DidDiscoverCharacteristics();
57 // Returns true if the characteristics has been discovered.
58 bool IsDiscoveryComplete();
59
60 // Returns the mac adapter.
61 BluetoothAdapterMac* GetMacAdapter() const;
62 // Returns CBPeripheral.
63 CBPeripheral* GetCBPeripheral() const;
64 // Returns CBService. 48 // Returns CBService.
65 CBService* GetService() const; 49 CBService* GetService() const;
66 // Returns a remote characteristic based on the CBCharacteristic.
67 BluetoothRemoteGattCharacteristicMac* GetBluetoothRemoteGattCharacteristicMac(
68 CBCharacteristic* characteristic) const;
69 50
70 // bluetooth_device_mac_ owns instances of this class. 51 // bluetooth_device_mac_ owns instances of this class.
71 BluetoothLowEnergyDeviceMac* bluetooth_device_mac_; 52 BluetoothLowEnergyDeviceMac* bluetooth_device_mac_;
72 // A service from CBPeripheral.services. 53 // A service from CBPeripheral.services.
73 base::scoped_nsobject<CBService> service_; 54 base::scoped_nsobject<CBService> service_;
74 // Map of characteristics, keyed by characteristic identifier.
75 std::unordered_map<std::string,
76 std::unique_ptr<BluetoothRemoteGattCharacteristicMac>>
77 gatt_characteristic_macs_;
78 bool is_primary_; 55 bool is_primary_;
79 // Service identifier. 56 // Service identifier.
80 std::string identifier_; 57 std::string identifier_;
81 // Service UUID. 58 // Service UUID.
82 BluetoothUUID uuid_; 59 BluetoothUUID uuid_;
83 // Is true if the characteristics has been discovered.
84 bool is_discovery_complete_;
85 60
86 DISALLOW_COPY_AND_ASSIGN(BluetoothRemoteGattServiceMac); 61 DISALLOW_COPY_AND_ASSIGN(BluetoothRemoteGattServiceMac);
87 }; 62 };
88 63
89 } // namespace device 64 } // namespace device
90 65
91 #endif // DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_MAC_H_ 66 #endif // DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_MAC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698