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

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

Issue 301093003: device/bluetooth: Update characteristic value D-Bus bindings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed comments. Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_CHROMEOS_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_CHROMEOS_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_CHROMEOS_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_CHROMEOS_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 const ErrorCallback& error_callback) OVERRIDE; 62 const ErrorCallback& error_callback) OVERRIDE;
63 63
64 // Object path of the underlying service. 64 // Object path of the underlying service.
65 const dbus::ObjectPath& object_path() const { return object_path_; } 65 const dbus::ObjectPath& object_path() const { return object_path_; }
66 66
67 // Notifies its observers that the GATT service has changed. This is mainly 67 // Notifies its observers that the GATT service has changed. This is mainly
68 // used by BluetoothRemoteGattCharacteristicChromeOS instances to notify 68 // used by BluetoothRemoteGattCharacteristicChromeOS instances to notify
69 // service observers when characteristic descriptors get added and removed. 69 // service observers when characteristic descriptors get added and removed.
70 void NotifyServiceChanged(); 70 void NotifyServiceChanged();
71 71
72 // Notifies its observers that the value of a characteristic has changed.
73 // Called by BluetoothRemoteGattCharacteristicChromeOS instances to notify
74 // service observers when their cached value is updated after a successful
75 // read request or when a "ValueUpdated" signal is received.
76 void NotifyCharacteristicValueChanged(
77 BluetoothRemoteGattCharacteristicChromeOS* characteristic,
78 const std::vector<uint8>& value);
79
72 // Notifies its observers that a descriptor |descriptor| belonging to 80 // Notifies its observers that a descriptor |descriptor| belonging to
73 // characteristic |characteristic| has been added or removed. This is used 81 // characteristic |characteristic| has been added or removed. This is used
74 // by BluetoothRemoteGattCharacteristicChromeOS instances to notify service 82 // by BluetoothRemoteGattCharacteristicChromeOS instances to notify service
75 // observers when characteristic descriptors get added and removed. If |added| 83 // observers when characteristic descriptors get added and removed. If |added|
76 // is true, an "Added" event will be sent. Otherwise, a "Removed" event will 84 // is true, an "Added" event will be sent. Otherwise, a "Removed" event will
77 // be sent. 85 // be sent.
78 void NotifyDescriptorAddedOrRemoved( 86 void NotifyDescriptorAddedOrRemoved(
79 BluetoothRemoteGattCharacteristicChromeOS* characteristic, 87 BluetoothRemoteGattCharacteristicChromeOS* characteristic,
80 BluetoothRemoteGattDescriptorChromeOS* descriptor, 88 BluetoothRemoteGattDescriptorChromeOS* descriptor,
81 bool added); 89 bool added);
(...skipping 16 matching lines...) Expand all
98 // BluetoothGattServiceClient::Observer override. 106 // BluetoothGattServiceClient::Observer override.
99 virtual void GattServicePropertyChanged( 107 virtual void GattServicePropertyChanged(
100 const dbus::ObjectPath& object_path, 108 const dbus::ObjectPath& object_path,
101 const std::string& property_name) OVERRIDE; 109 const std::string& property_name) OVERRIDE;
102 110
103 // BluetoothGattCharacteristicClient::Observer override. 111 // BluetoothGattCharacteristicClient::Observer override.
104 virtual void GattCharacteristicAdded( 112 virtual void GattCharacteristicAdded(
105 const dbus::ObjectPath& object_path) OVERRIDE; 113 const dbus::ObjectPath& object_path) OVERRIDE;
106 virtual void GattCharacteristicRemoved( 114 virtual void GattCharacteristicRemoved(
107 const dbus::ObjectPath& object_path) OVERRIDE; 115 const dbus::ObjectPath& object_path) OVERRIDE;
108 virtual void GattCharacteristicPropertyChanged(
109 const dbus::ObjectPath& object_path,
110 const std::string& property_name) OVERRIDE;
111 116
112 // Object path of the GATT service. 117 // Object path of the GATT service.
113 dbus::ObjectPath object_path_; 118 dbus::ObjectPath object_path_;
114 119
115 // List of observers interested in event notifications from us. 120 // List of observers interested in event notifications from us.
116 ObserverList<device::BluetoothGattService::Observer> observers_; 121 ObserverList<device::BluetoothGattService::Observer> observers_;
117 122
118 // The device this GATT service belongs to. 123 // The device this GATT service belongs to.
119 BluetoothDeviceChromeOS* device_; 124 BluetoothDeviceChromeOS* device_;
120 125
121 // Mapping from GATT characteristic object paths to characteristic objects. 126 // Mapping from GATT characteristic object paths to characteristic objects.
122 // owned by this service. Since the Chrome OS implementation uses object 127 // owned by this service. Since the Chrome OS implementation uses object
123 // paths as unique identifiers, we also use this mapping to return 128 // paths as unique identifiers, we also use this mapping to return
124 // characteristics by identifier. 129 // characteristics by identifier.
125 typedef std::map<dbus::ObjectPath, BluetoothRemoteGattCharacteristicChromeOS*> 130 typedef std::map<dbus::ObjectPath, BluetoothRemoteGattCharacteristicChromeOS*>
126 CharacteristicMap; 131 CharacteristicMap;
127 CharacteristicMap characteristics_; 132 CharacteristicMap characteristics_;
128 133
129 // Note: This should remain the last member so it'll be destroyed and 134 // Note: This should remain the last member so it'll be destroyed and
130 // invalidate its weak pointers before any other members are destroyed. 135 // invalidate its weak pointers before any other members are destroyed.
131 base::WeakPtrFactory<BluetoothRemoteGattServiceChromeOS> weak_ptr_factory_; 136 base::WeakPtrFactory<BluetoothRemoteGattServiceChromeOS> weak_ptr_factory_;
132 137
133 DISALLOW_COPY_AND_ASSIGN(BluetoothRemoteGattServiceChromeOS); 138 DISALLOW_COPY_AND_ASSIGN(BluetoothRemoteGattServiceChromeOS);
134 }; 139 };
135 140
136 } // namespace chromeos 141 } // namespace chromeos
137 142
138 #endif // DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_CHROMEOS_H_ 143 #endif // DEVICE_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_CHROMEOS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698