Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider_impl.cc

Issue 1979163002: Add DBus plumbing and tests for sending devices with ATT read/writes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@devices
Patch Set: gyp fix Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider_i mpl.h" 5 #include "device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider_i mpl.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 } 259 }
260 260
261 void BluetoothGattCharacteristicServiceProviderImpl::ReadValue( 261 void BluetoothGattCharacteristicServiceProviderImpl::ReadValue(
262 dbus::MethodCall* method_call, 262 dbus::MethodCall* method_call,
263 dbus::ExportedObject::ResponseSender response_sender) { 263 dbus::ExportedObject::ResponseSender response_sender) {
264 VLOG(3) << "BluetoothGattCharacteristicServiceProvider::ReadValue: " 264 VLOG(3) << "BluetoothGattCharacteristicServiceProvider::ReadValue: "
265 << object_path_.value(); 265 << object_path_.value();
266 DCHECK(OnOriginThread()); 266 DCHECK(OnOriginThread());
267 DCHECK(delegate_); 267 DCHECK(delegate_);
268 delegate_->GetValue( 268 delegate_->GetValue(
269 dbus::ObjectPath(),
269 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnReadValue, 270 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnReadValue,
270 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender), 271 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender),
271 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnFailure, 272 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnFailure,
272 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender)); 273 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender));
273 } 274 }
274 275
275 void BluetoothGattCharacteristicServiceProviderImpl::WriteValue( 276 void BluetoothGattCharacteristicServiceProviderImpl::WriteValue(
276 dbus::MethodCall* method_call, 277 dbus::MethodCall* method_call,
277 dbus::ExportedObject::ResponseSender response_sender) { 278 dbus::ExportedObject::ResponseSender response_sender) {
278 VLOG(3) << "BluetoothGattCharacteristicServiceProvider::WriteValue: " 279 VLOG(3) << "BluetoothGattCharacteristicServiceProvider::WriteValue: "
279 << object_path_.value(); 280 << object_path_.value();
280 DCHECK(OnOriginThread()); 281 DCHECK(OnOriginThread());
281 282
282 dbus::MessageReader reader(method_call); 283 dbus::MessageReader reader(method_call);
283 const uint8_t* bytes = NULL; 284 const uint8_t* bytes = NULL;
284 size_t length = 0; 285 size_t length = 0;
285 286
286 if (!reader.PopArrayOfBytes(&bytes, &length)) 287 if (!reader.PopArrayOfBytes(&bytes, &length))
287 VLOG(2) << "Error reading array of bytes in in WriteValue"; 288 VLOG(2) << "Error reading array of bytes in in WriteValue";
288 std::vector<uint8_t> value; 289 std::vector<uint8_t> value;
289 if (bytes) 290 if (bytes)
290 value.assign(bytes, bytes + length); 291 value.assign(bytes, bytes + length);
291 292
292 DCHECK(delegate_); 293 DCHECK(delegate_);
293 delegate_->SetValue( 294 delegate_->SetValue(
294 value, 295 dbus::ObjectPath(), value,
295 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnWriteValue, 296 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnWriteValue,
296 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender), 297 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender),
297 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnFailure, 298 base::Bind(&BluetoothGattCharacteristicServiceProviderImpl::OnFailure,
298 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender)); 299 weak_ptr_factory_.GetWeakPtr(), method_call, response_sender));
299 } 300 }
300 301
301 void BluetoothGattCharacteristicServiceProviderImpl::StartNotify( 302 void BluetoothGattCharacteristicServiceProviderImpl::StartNotify(
302 dbus::MethodCall* method_call, 303 dbus::MethodCall* method_call,
303 dbus::ExportedObject::ResponseSender response_sender) { 304 dbus::ExportedObject::ResponseSender response_sender) {
304 VLOG(3) << "BluetoothGattCharacteristicServiceProvider::StartNotify: " 305 VLOG(3) << "BluetoothGattCharacteristicServiceProvider::StartNotify: "
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 method_call, kErrorFailed, "Failed to get/set characteristic value."); 393 method_call, kErrorFailed, "Failed to get/set characteristic value.");
393 response_sender.Run(std::move(error_response)); 394 response_sender.Run(std::move(error_response));
394 } 395 }
395 396
396 const dbus::ObjectPath& 397 const dbus::ObjectPath&
397 BluetoothGattCharacteristicServiceProviderImpl::object_path() const { 398 BluetoothGattCharacteristicServiceProviderImpl::object_path() const {
398 return object_path_; 399 return object_path_;
399 } 400 }
400 401
401 } // namespace bluez 402 } // namespace bluez
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698