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

Side by Side Diff: device/bluetooth/bluez/bluetooth_local_gatt_descriptor_bluez.h

Issue 1898643002: Refactor device::BluetoothGattXXX classes to split into remote/local. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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_LOCAL_GATT_SERVICE_BLUEZ_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_LOCAL_GATT_DESCRIPTOR_BLUEZ_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_LOCAL_GATT_SERVICE_BLUEZ_H_ 6 #define DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_LOCAL_GATT_DESCRIPTOR_BLUEZ_H_
7 7
8 #include <string>
9
10 #include "base/callback_forward.h"
11 #include "base/macros.h" 8 #include "base/macros.h"
12 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
13 #include "dbus/object_path.h" 10 #include "dbus/object_path.h"
14 #include "device/bluetooth/bluetooth_gatt_service_bluez.h" 11 #include "device/bluetooth/bluetooth_local_gatt_descriptor.h"
15 #include "device/bluetooth/bluetooth_uuid.h" 12 #include "device/bluetooth/bluez/bluetooth_gatt_descriptor_bluez.h"
16
17 namespace device {
18
19 class BluetoothAdapter;
20 class BluetoothDevice;
21 class BluetoothGattCharacteristic;
22
23 } // namespace device
24 13
25 namespace bluez { 14 namespace bluez {
26 15
27 class BluetoothAdapterBlueZ; 16 // The BluetoothLocalGattDescriptorBlueZ class implements
28 class BluetoothDeviceBlueZ; 17 // BluetoothRemoteGattDescriptor for remote and local GATT characteristic
29 18 // descriptors
30 // The BluetoothLocalGattServiceBlueZ class implements BluetootGattService 19 // for platforms that use BlueZ.
31 // for local GATT services for platforms that use BlueZ. 20 class BluetoothLocalGattDescriptorBlueZ
32 class BluetoothLocalGattServiceBlueZ : public BluetoothGattServiceBlueZ { 21 : public BluetoothGattDescriptorBlueZ,
22 public device::BluetoothLocalGattDescriptor {
33 public: 23 public:
34 // device::BluetoothGattService overrides.
35 device::BluetoothUUID GetUUID() const override;
36 bool IsLocal() const override;
37 bool IsPrimary() const override;
38 device::BluetoothDevice* GetDevice() const override;
39 bool AddCharacteristic(
40 device::BluetoothGattCharacteristic* characteristic) override;
41 bool AddIncludedService(device::BluetoothGattService* service) override;
42 void Register(const base::Closure& callback,
43 const ErrorCallback& error_callback) override;
44 void Unregister(const base::Closure& callback,
45 const ErrorCallback& error_callback) override;
46
47 private: 24 private:
48 friend class BluetoothDeviceBlueZ; 25 explicit BluetoothLocalGattDescriptorBlueZ(
49 26 const dbus::ObjectPath& object_path);
50 BluetoothLocalGattServiceBlueZ(BluetoothAdapterBlueZ* adapter, 27 ~BluetoothLocalGattDescriptorBlueZ() override;
51 const dbus::ObjectPath& object_path);
52 ~BluetoothLocalGattServiceBlueZ() override;
53
54 // Called by dbus:: on unsuccessful completion of a request to register a
55 // local service.
56 void OnRegistrationError(const ErrorCallback& error_callback,
57 const std::string& error_name,
58 const std::string& error_message);
59 28
60 // Note: This should remain the last member so it'll be destroyed and 29 // Note: This should remain the last member so it'll be destroyed and
61 // invalidate its weak pointers before any other members are destroyed. 30 // invalidate its weak pointers before any other members are destroyed.
62 base::WeakPtrFactory<BluetoothLocalGattServiceBlueZ> weak_ptr_factory_; 31 base::WeakPtrFactory<BluetoothLocalGattDescriptorBlueZ> weak_ptr_factory_;
63 32
64 DISALLOW_COPY_AND_ASSIGN(BluetoothLocalGattServiceBlueZ); 33 DISALLOW_COPY_AND_ASSIGN(BluetoothLocalGattDescriptorBlueZ);
65 }; 34 };
66 35
67 } // namespace bluez 36 } // namespace bluez
68 37
69 #endif // DEVICE_BLUETOOTH_BLUETOOTH_LOCAL_GATT_SERVICE_BLUEZ_H_ 38 #endif // DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_LOCAL_GATT_DESCRIPTOR_BLUEZ_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698