diff options
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( |