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

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

Issue 134263008: device/bluetooth: Add abstract API definition for BluetoothGattDescriptor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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
« no previous file with comments | « device/bluetooth/bluetooth.gyp ('k') | device/bluetooth/bluetooth_gatt_descriptor.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_GATT_CHARACTERISTIC_H_ 5 #ifndef DEVICE_BLUETOOTH_GATT_CHARACTERISTIC_H_
6 #define DEVICE_BLUETOOTH_GATT_CHARACTERISTIC_H_ 6 #define DEVICE_BLUETOOTH_GATT_CHARACTERISTIC_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 const std::vector<uint8>& value) {} 88 const std::vector<uint8>& value) {}
89 89
90 // Called when the descriptors that are associated with |characteristic| 90 // Called when the descriptors that are associated with |characteristic|
91 // have changed. 91 // have changed.
92 virtual void DescriptorsChanged( 92 virtual void DescriptorsChanged(
93 BluetoothGattCharacteristic* characteristic, 93 BluetoothGattCharacteristic* characteristic,
94 const std::vector<BluetoothGattDescriptor*>& descriptors) {} 94 const std::vector<BluetoothGattDescriptor*>& descriptors) {}
95 }; 95 };
96 96
97 // The ErrorCallback is used by methods to asynchronously report errors. 97 // The ErrorCallback is used by methods to asynchronously report errors.
98 typedef base::Callback<const std::string&> ErrorCallback; 98 typedef base::Callback<void(const std::string&)> ErrorCallback;
99
100 // The ValueCallback is used to return the value of a remote characteristic
101 // upon a read request.
102 typedef base::Callback<void(const std::vector<uint8>&)> ValueCallback;
99 103
100 // Adds and removes observers for events on this GATT characteristic. If 104 // Adds and removes observers for events on this GATT characteristic. If
101 // monitoring multiple characteristics, check the |characteristic| parameter 105 // monitoring multiple characteristics, check the |characteristic| parameter
102 // of observer methods to determine which characteristic is issuing the event. 106 // of observer methods to determine which characteristic is issuing the event.
103 virtual void AddObserver(Observer* observer) = 0; 107 virtual void AddObserver(Observer* observer) = 0;
104 virtual void RemoveObserver(Observer* observer) = 0; 108 virtual void RemoveObserver(Observer* observer) = 0;
105 109
106 // Constructs a BluetoothGattCharacteristic that can be associated with a 110 // Constructs a BluetoothGattCharacteristic that can be associated with a
107 // local GATT service when the adapter is in the peripheral role. To 111 // local GATT service when the adapter is in the peripheral role. To
108 // associate the returned characteristic with a service, add it to a local 112 // associate the returned characteristic with a service, add it to a local
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 // any notifications and indications that have been configured. This method 157 // any notifications and indications that have been configured. This method
154 // can be used in place of, and in conjunction with, 158 // can be used in place of, and in conjunction with,
155 // BluetoothGattService::Delegate methods to send updates to remote devices, 159 // BluetoothGattService::Delegate methods to send updates to remote devices,
156 // or simply to set update the cached value for read requests without having 160 // or simply to set update the cached value for read requests without having
157 // to implement the delegate methods. 161 // to implement the delegate methods.
158 // 162 //
159 // This method only makes sense for local characteristics and does nothing and 163 // This method only makes sense for local characteristics and does nothing and
160 // returns false if this instance represents a remote characteristic. 164 // returns false if this instance represents a remote characteristic.
161 virtual bool UpdateValue(const std::vector<uint8>& value) = 0; 165 virtual bool UpdateValue(const std::vector<uint8>& value) = 0;
162 166
167 // Sends a read request to a remote characteristic to read its value.
168 // |callback| is called to return the read value on success and
169 // |error_callback| is called for failures.
170 virtual void ReadRemoteCharacteristic(
171 const ValueCallback& callback,
172 const ErrorCallback& error_callback) = 0;
173
163 // Sends a write request to a remote characteristic, to modify the 174 // Sends a write request to a remote characteristic, to modify the
164 // characteristic's value starting at offset |offset| with the new value 175 // characteristic's value starting at offset |offset| with the new value
165 // |new_value|. |callback| is called to signal success and |error_callback| 176 // |new_value|. |callback| is called to signal success and |error_callback|
166 // for failures. This method only applies to remote characteristics and will 177 // for failures. This method only applies to remote characteristics and will
167 // fail for those that are locally hosted. 178 // fail for those that are locally hosted.
168 virtual void WriteRemoteCharacteristic( 179 virtual void WriteRemoteCharacteristic(
169 int offset, 180 int offset,
170 const std::vector<uint8>& new_value, 181 const std::vector<uint8>& new_value,
171 const base::Closure& callback, 182 const base::Closure& callback,
172 const ErrorCallback& error_callback) = 0; 183 const ErrorCallback& error_callback) = 0;
173 184
174 protected: 185 protected:
175 BluetoothGattCharacteristic(); 186 BluetoothGattCharacteristic();
176 virtual ~BluetoothGattCharacteristic(); 187 virtual ~BluetoothGattCharacteristic();
177 188
178 private: 189 private:
179 DISALLOW_COPY_AND_ASSIGN(BluetoothGattCharacteristic); 190 DISALLOW_COPY_AND_ASSIGN(BluetoothGattCharacteristic);
180 }; 191 };
181 192
182 } // namespace device 193 } // namespace device
183 194
184 #endif // DEVICE_BLUETOOTH_GATT_CHARACTERISTIC_H_ 195 #endif // DEVICE_BLUETOOTH_GATT_CHARACTERISTIC_H_
OLDNEW
« no previous file with comments | « device/bluetooth/bluetooth.gyp ('k') | device/bluetooth/bluetooth_gatt_descriptor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698