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

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

Issue 246603008: Expose device RSSI and Tx power via the chrome.bluetooth API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Implemented as a property of the Device object Created 6 years, 7 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 (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 <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 DEVICE_VIDEO, 59 DEVICE_VIDEO,
60 DEVICE_PERIPHERAL, 60 DEVICE_PERIPHERAL,
61 DEVICE_JOYSTICK, 61 DEVICE_JOYSTICK,
62 DEVICE_GAMEPAD, 62 DEVICE_GAMEPAD,
63 DEVICE_KEYBOARD, 63 DEVICE_KEYBOARD,
64 DEVICE_MOUSE, 64 DEVICE_MOUSE,
65 DEVICE_TABLET, 65 DEVICE_TABLET,
66 DEVICE_KEYBOARD_MOUSE_COMBO 66 DEVICE_KEYBOARD_MOUSE_COMBO
67 }; 67 };
68 68
69 // The value returned if the RSSI or transmit power cannot be read.
70 static const int kUnknownPower = 127;
71
69 // Possible errors passed back to an error callback function in case of a 72 // Possible errors passed back to an error callback function in case of a
70 // failed call to Connect(). 73 // failed call to Connect().
71 enum ConnectErrorCode { 74 enum ConnectErrorCode {
72 ERROR_UNKNOWN, 75 ERROR_UNKNOWN,
73 ERROR_INPROGRESS, 76 ERROR_INPROGRESS,
74 ERROR_FAILED, 77 ERROR_FAILED,
75 ERROR_AUTH_FAILED, 78 ERROR_AUTH_FAILED,
76 ERROR_AUTH_CANCELED, 79 ERROR_AUTH_CANCELED,
77 ERROR_AUTH_REJECTED, 80 ERROR_AUTH_REJECTED,
78 ERROR_AUTH_TIMEOUT, 81 ERROR_AUTH_TIMEOUT,
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 // be a synthesized string containing the address and localized type name 223 // be a synthesized string containing the address and localized type name
221 // if the device has no obtained name. 224 // if the device has no obtained name.
222 virtual base::string16 GetName() const; 225 virtual base::string16 GetName() const;
223 226
224 // Returns the type of the device, limited to those we support or are 227 // Returns the type of the device, limited to those we support or are
225 // aware of, by decoding the bluetooth class information. The returned 228 // aware of, by decoding the bluetooth class information. The returned
226 // values are unique, and do not overlap, so DEVICE_KEYBOARD is not also 229 // values are unique, and do not overlap, so DEVICE_KEYBOARD is not also
227 // DEVICE_PERIPHERAL. 230 // DEVICE_PERIPHERAL.
228 DeviceType GetDeviceType() const; 231 DeviceType GetDeviceType() const;
229 232
233 // Gets the "received signal strength indication" (RSSI) of the current
234 // connection to the device. The RSSI indicates the power present in the
235 // received radio signal, measured in dBm, to a resolution of 1dBm. Larger
236 // (typically, less negative) values indicate a stronger signal.
237 // It is only meaningful to call this method when there is a connection
238 // established to the device. If there is no connection, or in case of an
239 // error, returns |kUnknownPower|. Otherwise, returns the connection's RSSI.
240 virtual int GetRSSI() const = 0;
241
242 // These two methods are used to read the current or maximum transmit power
243 // ("Tx power") of the current connection to the device. The transmit power
244 // indicates the strength of the signal broadcast from the host's Bluetooth
245 // antenna when communicating with the device, measured in dBm, to a
246 // resolution of 1dBm. Larger (typically, less negative) values
247 // indicate a stronger signal.
248 // It is only meaningful to call this method when there is a connection
249 // established to the device. If there is no connection, or in case of an
250 // error, returns |kUnknownPower|. Otherwise, returns the connection's
251 // transmit power.
252 virtual int GetCurrentHostTransmitPower() const = 0;
253 virtual int GetMaximumHostTransmitPower() const = 0;
254
230 // Indicates whether the device is known to support pairing based on its 255 // Indicates whether the device is known to support pairing based on its
231 // device class and address. 256 // device class and address.
232 bool IsPairable() const; 257 bool IsPairable() const;
233 258
234 // Indicates whether the device is paired with the adapter. 259 // Indicates whether the device is paired with the adapter.
235 virtual bool IsPaired() const = 0; 260 virtual bool IsPaired() const = 0;
236 261
237 // Indicates whether the device is currently connected to the adapter. 262 // Indicates whether the device is currently connected to the adapter.
238 // Note that if IsConnected() is true, does not imply that the device is 263 // Note that if IsConnected() is true, does not imply that the device is
239 // connected to any application or service. If the device is not paired, it 264 // connected to any application or service. If the device is not paired, it
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 413
389 private: 414 private:
390 // Returns a localized string containing the device's bluetooth address and 415 // Returns a localized string containing the device's bluetooth address and
391 // a device type for display when |name_| is empty. 416 // a device type for display when |name_| is empty.
392 base::string16 GetAddressWithLocalizedDeviceTypeName() const; 417 base::string16 GetAddressWithLocalizedDeviceTypeName() const;
393 }; 418 };
394 419
395 } // namespace device 420 } // namespace device
396 421
397 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_H_ 422 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698