From 73e3bf317ab4dc9b6a059ccc93ba83bb8145a215 Mon Sep 17 00:00:00 2001 From: "tengs@chromium.org" Date: Sun, 11 May 2014 01:26:20 +0000 Subject: 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 --- chromeos/dbus/bluetooth_device_client.cc | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'chromeos/dbus/bluetooth_device_client.cc') 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( -- cgit v1.1