Index: chromeos/dbus/bluetooth_device_client.cc |
diff --git a/chromeos/dbus/bluetooth_device_client.cc b/chromeos/dbus/bluetooth_device_client.cc |
index 033daf38548302f1e826c48b4d3ce22a73dcef99..b505401d2f3b91efb7120672fa74cfbd444a64ab 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( |