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

Side by Side Diff: device/bluetooth/bluez/bluetooth_adapter_bluez.cc

Issue 2084463002: BlueZ + DBus implementations of create/remove service record functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixes + moar tests Created 4 years, 6 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/bluez/bluetooth_adapter_bluez.h" 5 #include "device/bluetooth/bluez/bluetooth_adapter_bluez.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 795 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 VLOG(1) << "Failed to register audio sink, adapter not present"; 806 VLOG(1) << "Failed to register audio sink, adapter not present";
807 error_callback.Run(BluetoothAudioSink::ERROR_INVALID_ADAPTER); 807 error_callback.Run(BluetoothAudioSink::ERROR_INVALID_ADAPTER);
808 return; 808 return;
809 } 809 }
810 DCHECK(audio_sink.get()); 810 DCHECK(audio_sink.get());
811 callback.Run(audio_sink); 811 callback.Run(audio_sink);
812 } 812 }
813 813
814 void BluetoothAdapterBlueZ::CreateServiceRecord( 814 void BluetoothAdapterBlueZ::CreateServiceRecord(
815 const BluetoothServiceRecordBlueZ& record, 815 const BluetoothServiceRecordBlueZ& record,
816 const base::Closure& callback, 816 const ServiceRecordCallback& callback,
817 const ServiceRecordErrorCallback& error_callback) { 817 const ServiceRecordErrorCallback& error_callback) {
818 // TODO(rkc): Implement this. 818 bluez::BluezDBusManager::Get()
819 callback.Run(); 819 ->GetBluetoothAdapterClient()
820 ->CreateServiceRecord(
821 object_path_, record, callback,
822 base::Bind(&BluetoothAdapterBlueZ::ServiceRecordErrorConnector,
823 weak_ptr_factory_.GetWeakPtr(), error_callback));
820 } 824 }
821 825
822 void BluetoothAdapterBlueZ::RemoveServiceRecord( 826 void BluetoothAdapterBlueZ::RemoveServiceRecord(
823 const device::BluetoothUUID& uuid, 827 uint32_t handle,
824 const base::Closure& callback, 828 const base::Closure& callback,
825 const ServiceRecordErrorCallback& error_callback) { 829 const ServiceRecordErrorCallback& error_callback) {
826 // TODO(rkc): Implement this. 830 bluez::BluezDBusManager::Get()
827 callback.Run(); 831 ->GetBluetoothAdapterClient()
832 ->RemoveServiceRecord(
833 object_path_, handle, callback,
834 base::Bind(&BluetoothAdapterBlueZ::ServiceRecordErrorConnector,
835 weak_ptr_factory_.GetWeakPtr(), error_callback));
828 } 836 }
829 837
830 BluetoothDeviceBlueZ* BluetoothAdapterBlueZ::GetDeviceWithPath( 838 BluetoothDeviceBlueZ* BluetoothAdapterBlueZ::GetDeviceWithPath(
831 const dbus::ObjectPath& object_path) { 839 const dbus::ObjectPath& object_path) {
832 if (!IsPresent()) 840 if (!IsPresent())
833 return nullptr; 841 return nullptr;
834 842
835 for (DevicesMap::const_iterator iter = devices_.begin(); 843 for (DevicesMap::const_iterator iter = devices_.begin();
836 iter != devices_.end(); ++iter) { 844 iter != devices_.end(); ++iter) {
837 BluetoothDeviceBlueZ* device_bluez = 845 BluetoothDeviceBlueZ* device_bluez =
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
1642 } 1650 }
1643 1651
1644 void BluetoothAdapterBlueZ::RegisterApplicationOnError( 1652 void BluetoothAdapterBlueZ::RegisterApplicationOnError(
1645 const base::Closure& callback, 1653 const base::Closure& callback,
1646 const device::BluetoothGattService::ErrorCallback& error_callback, 1654 const device::BluetoothGattService::ErrorCallback& error_callback,
1647 const std::string& /* error_name */, 1655 const std::string& /* error_name */,
1648 const std::string& /* error_message */) { 1656 const std::string& /* error_message */) {
1649 RegisterApplication(callback, error_callback); 1657 RegisterApplication(callback, error_callback);
1650 } 1658 }
1651 1659
1660 void BluetoothAdapterBlueZ::ServiceRecordErrorConnector(
1661 const ServiceRecordErrorCallback& error_callback,
1662 const std::string& error_name,
1663 const std::string& error_message) {
1664 VLOG(1) << "Creating service record failed: error: " << error_name << " - "
1665 << error_message;
1666
1667 BluetoothServiceRecordBlueZ::ErrorCode code =
1668 BluetoothServiceRecordBlueZ::ErrorCode::UNKNOWN;
1669 if (error_name == bluetooth_adapter::kErrorInvalidArguments) {
1670 code = BluetoothServiceRecordBlueZ::ErrorCode::ERROR_INVALID_ARGUMENTS;
1671 } else if (error_name == bluetooth_adapter::kErrorDoesNotExist) {
1672 code = BluetoothServiceRecordBlueZ::ErrorCode::ERROR_RECORD_DOES_NOT_EXIST;
1673 } else if (error_name == bluetooth_adapter::kErrorAlreadyExists) {
1674 code = BluetoothServiceRecordBlueZ::ErrorCode::ERROR_RECORD_ALREADY_EXISTS;
1675 } else if (error_name == bluetooth_adapter::kErrorNotReady) {
1676 code = BluetoothServiceRecordBlueZ::ErrorCode::ERROR_ADAPTER_NOT_READY;
1677 }
1678
1679 error_callback.Run(code);
1680 }
1681
1652 } // namespace bluez 1682 } // namespace bluez
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698