diff options
author | tengs@chromium.org <tengs@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-11 01:26:20 +0000 |
---|---|---|
committer | tengs@chromium.org <tengs@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-11 01:26:20 +0000 |
commit | 73e3bf317ab4dc9b6a059ccc93ba83bb8145a215 (patch) | |
tree | 36e312c5af8cd3383a456961632b82941bd16c39 /chromeos/dbus/bluetooth_device_client.cc | |
parent | 2ad5ef50f9fb03975744312afcb43392cd2a0d54 (diff) | |
download | chromium_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.cc | 54 |
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( |