summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/bluetooth_device_client.cc
diff options
context:
space:
mode:
authortengs@chromium.org <tengs@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-11 01:26:20 +0000
committertengs@chromium.org <tengs@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-11 01:26:20 +0000
commit73e3bf317ab4dc9b6a059ccc93ba83bb8145a215 (patch)
tree36e312c5af8cd3383a456961632b82941bd16c39 /chromeos/dbus/bluetooth_device_client.cc
parent2ad5ef50f9fb03975744312afcb43392cd2a0d54 (diff)
downloadchromium_src-73e3bf317ab4dc9b6a059ccc93ba83bb8145a215.zip
chromium_src-73e3bf317ab4dc9b6a059ccc93ba83bb8145a215.tar.gz
chromium_src-73e3bf317ab4dc9b6a059ccc93ba83bb8145a215.tar.bz2
Hook up RSSI and host transmit power Bluetooth device properties for ChromeOS.
BUG=365966 Review URL: https://codereview.chromium.org/273953002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269676 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus/bluetooth_device_client.cc')
-rw-r--r--chromeos/dbus/bluetooth_device_client.cc54
1 files changed, 54 insertions, 0 deletions
diff --git a/chromeos/dbus/bluetooth_device_client.cc b/chromeos/dbus/bluetooth_device_client.cc
index 033daf3..b505401 100644
--- a/chromeos/dbus/bluetooth_device_client.cc
+++ b/chromeos/dbus/bluetooth_device_client.cc
@@ -41,6 +41,10 @@ BluetoothDeviceClient::Properties::Properties(
RegisterProperty(bluetooth_device::kLegacyPairingProperty, &legacy_pairing);
RegisterProperty(bluetooth_device::kModaliasProperty, &modalias);
RegisterProperty(bluetooth_device::kRSSIProperty, &rssi);
+ RegisterProperty(bluetooth_device::kConnectionRSSI, &connection_rssi);
+ RegisterProperty(bluetooth_device::kConnectionTXPower, &connection_tx_power);
+ RegisterProperty(bluetooth_device::kConnectionTXPowerMax,
+ &connection_tx_power_max);
}
BluetoothDeviceClient::Properties::~Properties() {
@@ -267,6 +271,56 @@ class BluetoothDeviceClientImpl
weak_ptr_factory_.GetWeakPtr(), error_callback));
}
+ // BluetoothDeviceClient override.
+ virtual void StartConnectionMonitor(
+ const dbus::ObjectPath& object_path,
+ const base::Closure& callback,
+ const ErrorCallback& error_callback) OVERRIDE {
+ dbus::MethodCall method_call(bluetooth_device::kBluetoothDeviceInterface,
+ bluetooth_device::kStartConnectionMonitor);
+
+ dbus::ObjectProxy* object_proxy =
+ object_manager_->GetObjectProxy(object_path);
+ if (!object_proxy) {
+ error_callback.Run(kUnknownDeviceError, "");
+ return;
+ }
+ object_proxy->CallMethodWithErrorCallback(
+ &method_call,
+ dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
+ base::Bind(&BluetoothDeviceClientImpl::OnSuccess,
+ weak_ptr_factory_.GetWeakPtr(),
+ callback),
+ base::Bind(&BluetoothDeviceClientImpl::OnError,
+ weak_ptr_factory_.GetWeakPtr(),
+ error_callback));
+ }
+
+ // BluetoothDeviceClient override.
+ virtual void StopConnectionMonitor(
+ const dbus::ObjectPath& object_path,
+ const base::Closure& callback,
+ const ErrorCallback& error_callback) OVERRIDE {
+ dbus::MethodCall method_call(bluetooth_device::kBluetoothDeviceInterface,
+ bluetooth_device::kStopConnectionMonitor);
+
+ dbus::ObjectProxy* object_proxy =
+ object_manager_->GetObjectProxy(object_path);
+ if (!object_proxy) {
+ error_callback.Run(kUnknownDeviceError, "");
+ return;
+ }
+ object_proxy->CallMethodWithErrorCallback(
+ &method_call,
+ dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
+ base::Bind(&BluetoothDeviceClientImpl::OnSuccess,
+ weak_ptr_factory_.GetWeakPtr(),
+ callback),
+ base::Bind(&BluetoothDeviceClientImpl::OnError,
+ weak_ptr_factory_.GetWeakPtr(),
+ error_callback));
+ }
+
protected:
virtual void Init(dbus::Bus* bus) OVERRIDE {
object_manager_ = bus->GetObjectManager(