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

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

Issue 1542163002: Switch to standard integer types in device/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: win Created 4 years, 12 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
« no previous file with comments | « device/bluetooth/bluetooth_classic_device_mac.mm ('k') | device/bluetooth/bluetooth_device.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_DEVICE_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_H_
7 7
8 #include <stddef.h>
9 #include <stdint.h>
10
8 #include <set> 11 #include <set>
9 #include <string> 12 #include <string>
10 #include <vector> 13 #include <vector>
11 14
12 #include "base/callback.h" 15 #include "base/callback.h"
13 #include "base/containers/scoped_ptr_hash_map.h" 16 #include "base/containers/scoped_ptr_hash_map.h"
14 #include "base/gtest_prod_util.h" 17 #include "base/gtest_prod_util.h"
15 #include "base/memory/ref_counted.h" 18 #include "base/memory/ref_counted.h"
16 #include "base/strings/string16.h" 19 #include "base/strings/string16.h"
17 #include "device/bluetooth/bluetooth_export.h" 20 #include "device/bluetooth/bluetooth_export.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 const std::string& pincode) = 0; 141 const std::string& pincode) = 0;
139 142
140 // This method will be called when the Bluetooth daemon requires that the 143 // This method will be called when the Bluetooth daemon requires that the
141 // user enter the Passkey |passkey| into the device |device| so that it 144 // user enter the Passkey |passkey| into the device |device| so that it
142 // may be authenticated. 145 // may be authenticated.
143 // 146 //
144 // This is used for Bluetooth 2.1 and later devices that support input 147 // This is used for Bluetooth 2.1 and later devices that support input
145 // but not display, such as keyboards. The Passkey is a numeric in the 148 // but not display, such as keyboards. The Passkey is a numeric in the
146 // range 0-999999 and should be always presented zero-padded to six 149 // range 0-999999 and should be always presented zero-padded to six
147 // digits. 150 // digits.
148 virtual void DisplayPasskey(BluetoothDevice* device, 151 virtual void DisplayPasskey(BluetoothDevice* device, uint32_t passkey) = 0;
149 uint32 passkey) = 0;
150 152
151 // This method will be called when the Bluetooth daemon gets a notification 153 // This method will be called when the Bluetooth daemon gets a notification
152 // of a key entered on the device |device| while pairing with the device 154 // of a key entered on the device |device| while pairing with the device
153 // using a PIN code or a Passkey. 155 // using a PIN code or a Passkey.
154 // 156 //
155 // This method will be called only after DisplayPinCode() or 157 // This method will be called only after DisplayPinCode() or
156 // DisplayPasskey() method is called, but is not warranted to be called 158 // DisplayPasskey() method is called, but is not warranted to be called
157 // on every pairing process that requires a PIN code or a Passkey because 159 // on every pairing process that requires a PIN code or a Passkey because
158 // some device may not support this feature. 160 // some device may not support this feature.
159 // 161 //
160 // The |entered| value describes the number of keys entered so far, 162 // The |entered| value describes the number of keys entered so far,
161 // including the last [enter] key. A first call to KeysEntered() with 163 // including the last [enter] key. A first call to KeysEntered() with
162 // |entered| as 0 will be sent when the device supports this feature. 164 // |entered| as 0 will be sent when the device supports this feature.
163 virtual void KeysEntered(BluetoothDevice* device, 165 virtual void KeysEntered(BluetoothDevice* device, uint32_t entered) = 0;
164 uint32 entered) = 0;
165 166
166 // This method will be called when the Bluetooth daemon requires that the 167 // This method will be called when the Bluetooth daemon requires that the
167 // user confirm that the Passkey |passkey| is displayed on the screen 168 // user confirm that the Passkey |passkey| is displayed on the screen
168 // of the device |device| so that it may be authenticated. The delegate 169 // of the device |device| so that it may be authenticated. The delegate
169 // should display to the user and ask for confirmation, then call 170 // should display to the user and ask for confirmation, then call
170 // ConfirmPairing() on the device to confirm, RejectPairing() on the device 171 // ConfirmPairing() on the device to confirm, RejectPairing() on the device
171 // to reject or CancelPairing() on the device to cancel authentication 172 // to reject or CancelPairing() on the device to cancel authentication
172 // for any other reason. 173 // for any other reason.
173 // 174 //
174 // This is used for Bluetooth 2.1 and later devices that support display, 175 // This is used for Bluetooth 2.1 and later devices that support display,
175 // such as other computers or phones. The Passkey is a numeric in the 176 // such as other computers or phones. The Passkey is a numeric in the
176 // range 0-999999 and should be always present zero-padded to six 177 // range 0-999999 and should be always present zero-padded to six
177 // digits. 178 // digits.
178 virtual void ConfirmPasskey(BluetoothDevice* device, 179 virtual void ConfirmPasskey(BluetoothDevice* device, uint32_t passkey) = 0;
179 uint32 passkey) = 0;
180 180
181 // This method will be called when the Bluetooth daemon requires that a 181 // This method will be called when the Bluetooth daemon requires that a
182 // pairing request, usually only incoming, using the just-works model is 182 // pairing request, usually only incoming, using the just-works model is
183 // authorized. The delegate should decide whether the user should confirm 183 // authorized. The delegate should decide whether the user should confirm
184 // or not, then call ConfirmPairing() on the device to confirm the pairing 184 // or not, then call ConfirmPairing() on the device to confirm the pairing
185 // (whether by user action or by default), RejectPairing() on the device to 185 // (whether by user action or by default), RejectPairing() on the device to
186 // reject or CancelPairing() on the device to cancel authorization for 186 // reject or CancelPairing() on the device to cancel authorization for
187 // any other reason. 187 // any other reason.
188 virtual void AuthorizePairing(BluetoothDevice* device) = 0; 188 virtual void AuthorizePairing(BluetoothDevice* device) = 0;
189 }; 189 };
190 190
191 virtual ~BluetoothDevice(); 191 virtual ~BluetoothDevice();
192 192
193 // Returns the Bluetooth class of the device, used by GetDeviceType() 193 // Returns the Bluetooth class of the device, used by GetDeviceType()
194 // and metrics logging, 194 // and metrics logging,
195 virtual uint32 GetBluetoothClass() const = 0; 195 virtual uint32_t GetBluetoothClass() const = 0;
196 196
197 // Returns the identifier of the bluetooth device. 197 // Returns the identifier of the bluetooth device.
198 virtual std::string GetIdentifier() const; 198 virtual std::string GetIdentifier() const;
199 199
200 // Returns the Bluetooth of address the device. This should be used as 200 // Returns the Bluetooth of address the device. This should be used as
201 // a unique key to identify the device and copied where needed. 201 // a unique key to identify the device and copied where needed.
202 virtual std::string GetAddress() const = 0; 202 virtual std::string GetAddress() const = 0;
203 203
204 // Returns the allocation source of the identifier returned by GetVendorID(), 204 // Returns the allocation source of the identifier returned by GetVendorID(),
205 // where available, or VENDOR_ID_UNKNOWN where not. 205 // where available, or VENDOR_ID_UNKNOWN where not.
206 virtual VendorIDSource GetVendorIDSource() const = 0; 206 virtual VendorIDSource GetVendorIDSource() const = 0;
207 207
208 // Returns the Vendor ID of the device, where available. 208 // Returns the Vendor ID of the device, where available.
209 virtual uint16 GetVendorID() const = 0; 209 virtual uint16_t GetVendorID() const = 0;
210 210
211 // Returns the Product ID of the device, where available. 211 // Returns the Product ID of the device, where available.
212 virtual uint16 GetProductID() const = 0; 212 virtual uint16_t GetProductID() const = 0;
213 213
214 // Returns the Device ID of the device, typically the release or version 214 // Returns the Device ID of the device, typically the release or version
215 // number in BCD format, where available. 215 // number in BCD format, where available.
216 virtual uint16 GetDeviceID() const = 0; 216 virtual uint16_t GetDeviceID() const = 0;
217 217
218 // Returns the name of the device suitable for displaying, this may 218 // Returns the name of the device suitable for displaying, this may
219 // be a synthesized string containing the address and localized type name 219 // be a synthesized string containing the address and localized type name
220 // if the device has no obtained name. 220 // if the device has no obtained name.
221 virtual base::string16 GetName() const; 221 virtual base::string16 GetName() const;
222 222
223 // Returns the type of the device, limited to those we support or are 223 // Returns the type of the device, limited to those we support or are
224 // aware of, by decoding the bluetooth class information. The returned 224 // aware of, by decoding the bluetooth class information. The returned
225 // values are unique, and do not overlap, so DEVICE_KEYBOARD is not also 225 // values are unique, and do not overlap, so DEVICE_KEYBOARD is not also
226 // DEVICE_PERIPHERAL. 226 // DEVICE_PERIPHERAL.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 259
260 // Returns the set of UUIDs that this device supports. For classic Bluetooth 260 // Returns the set of UUIDs that this device supports. For classic Bluetooth
261 // devices this data is collected from both the EIR data and SDP tables, 261 // devices this data is collected from both the EIR data and SDP tables,
262 // for Low Energy devices this data is collected from AD and GATT primary 262 // for Low Energy devices this data is collected from AD and GATT primary
263 // services, for dual mode devices this may be collected from both./ 263 // services, for dual mode devices this may be collected from both./
264 virtual UUIDList GetUUIDs() const = 0; 264 virtual UUIDList GetUUIDs() const = 0;
265 265
266 // The received signal strength, in dBm. This field is avaliable and valid 266 // The received signal strength, in dBm. This field is avaliable and valid
267 // only during discovery. If not during discovery, or RSSI wasn't reported, 267 // only during discovery. If not during discovery, or RSSI wasn't reported,
268 // this method will return |kUnknownPower|. 268 // this method will return |kUnknownPower|.
269 virtual int16 GetInquiryRSSI() const = 0; 269 virtual int16_t GetInquiryRSSI() const = 0;
270 270
271 // The transmitted power level. This field is avaliable only for LE devices 271 // The transmitted power level. This field is avaliable only for LE devices
272 // that include this field in AD. It is avaliable and valid only during 272 // that include this field in AD. It is avaliable and valid only during
273 // discovery. If not during discovery, or TxPower wasn't reported, this 273 // discovery. If not during discovery, or TxPower wasn't reported, this
274 // method will return |kUnknownPower|. 274 // method will return |kUnknownPower|.
275 virtual int16 GetInquiryTxPower() const = 0; 275 virtual int16_t GetInquiryTxPower() const = 0;
276 276
277 // The ErrorCallback is used for methods that can fail in which case it 277 // The ErrorCallback is used for methods that can fail in which case it
278 // is called, in the success case the callback is simply not called. 278 // is called, in the success case the callback is simply not called.
279 typedef base::Callback<void()> ErrorCallback; 279 typedef base::Callback<void()> ErrorCallback;
280 280
281 // The ConnectErrorCallback is used for methods that can fail with an error, 281 // The ConnectErrorCallback is used for methods that can fail with an error,
282 // passed back as an error code argument to this callback. 282 // passed back as an error code argument to this callback.
283 // In the success case this callback is not called. 283 // In the success case this callback is not called.
284 typedef base::Callback<void(enum ConnectErrorCode)> ConnectErrorCallback; 284 typedef base::Callback<void(enum ConnectErrorCode)> ConnectErrorCallback;
285 285
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 // 343 //
344 // PIN Codes are generally required for Bluetooth 2.0 and earlier devices 344 // PIN Codes are generally required for Bluetooth 2.0 and earlier devices
345 // for which there is no automatic pairing or special handling. 345 // for which there is no automatic pairing or special handling.
346 virtual void SetPinCode(const std::string& pincode) = 0; 346 virtual void SetPinCode(const std::string& pincode) = 0;
347 347
348 // Sends the Passkey |passkey| to the remote device during pairing. 348 // Sends the Passkey |passkey| to the remote device during pairing.
349 // 349 //
350 // Passkeys are generally required for Bluetooth 2.1 and later devices 350 // Passkeys are generally required for Bluetooth 2.1 and later devices
351 // which cannot provide input or display on their own, and don't accept 351 // which cannot provide input or display on their own, and don't accept
352 // passkey-less pairing, and are a numeric in the range 0-999999. 352 // passkey-less pairing, and are a numeric in the range 0-999999.
353 virtual void SetPasskey(uint32 passkey) = 0; 353 virtual void SetPasskey(uint32_t passkey) = 0;
354 354
355 // Confirms to the remote device during pairing that a passkey provided by 355 // Confirms to the remote device during pairing that a passkey provided by
356 // the ConfirmPasskey() delegate call is displayed on both devices. 356 // the ConfirmPasskey() delegate call is displayed on both devices.
357 virtual void ConfirmPairing() = 0; 357 virtual void ConfirmPairing() = 0;
358 358
359 // Rejects a pairing or connection request from a remote device. 359 // Rejects a pairing or connection request from a remote device.
360 virtual void RejectPairing() = 0; 360 virtual void RejectPairing() = 0;
361 361
362 // Cancels a pairing or connection attempt to a remote device, releasing 362 // Cancels a pairing or connection attempt to a remote device, releasing
363 // the pairing delegate. 363 // the pairing delegate.
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 519
520 private: 520 private:
521 // Returns a localized string containing the device's bluetooth address and 521 // Returns a localized string containing the device's bluetooth address and
522 // a device type for display when |name_| is empty. 522 // a device type for display when |name_| is empty.
523 base::string16 GetAddressWithLocalizedDeviceTypeName() const; 523 base::string16 GetAddressWithLocalizedDeviceTypeName() const;
524 }; 524 };
525 525
526 } // namespace device 526 } // namespace device
527 527
528 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_H_ 528 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_H_
OLDNEW
« no previous file with comments | « device/bluetooth/bluetooth_classic_device_mac.mm ('k') | device/bluetooth/bluetooth_device.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698