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

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

Issue 1946053002: Fixes to DBus GATT components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « no previous file | device/bluetooth/dbus/bluetooth_gatt_application_service_provider.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 return; 1095 return;
1096 } 1096 }
1097 1097
1098 registered_gatt_services_.erase(service->object_path()); 1098 registered_gatt_services_.erase(service->object_path());
1099 1099
1100 // If we have no GATT services left, unregister our application. 1100 // If we have no GATT services left, unregister our application.
1101 if (registered_gatt_services_.size() == 0) { 1101 if (registered_gatt_services_.size() == 0) {
1102 bluez::BluezDBusManager::Get() 1102 bluez::BluezDBusManager::Get()
1103 ->GetBluetoothGattManagerClient() 1103 ->GetBluetoothGattManagerClient()
1104 ->UnregisterApplication( 1104 ->UnregisterApplication(
1105 GetApplicationObjectPath(), callback, 1105 object_path_, GetApplicationObjectPath(), callback,
1106 base::Bind(&OnRegisterationErrorCallback, error_callback)); 1106 base::Bind(&OnRegisterationErrorCallback, error_callback));
1107 return; 1107 return;
1108 } 1108 }
1109 1109
1110 // Otherwise, this is tricky (since at the moment, BlueZ does not support 1110 // Otherwise, this is tricky (since at the moment, BlueZ does not support
1111 // adding/removing services individually). We need to update our list of 1111 // adding/removing services individually). We need to update our list of
1112 // services, then unregister our application, then re-register it with the 1112 // services, then unregister our application, then re-register it with the
1113 // updated services. TODO(rkc): Fix this once BlueZ is fixed. 1113 // updated services. TODO(rkc): Fix this once BlueZ is fixed.
1114 gatt_application_provider_ = BluetoothGattApplicationServiceProvider::Create( 1114 gatt_application_provider_ = BluetoothGattApplicationServiceProvider::Create(
1115 bluez::BluezDBusManager::Get()->GetSystemBus(), object_path_, 1115 bluez::BluezDBusManager::Get()->GetSystemBus(), object_path_,
1116 registered_gatt_services_); 1116 registered_gatt_services_);
1117 1117
1118 // Unregister our current application. If we are successful, make a call to 1118 // Unregister our current application. If we are successful, make a call to
1119 // register the application again with the current set of services. 1119 // register the application again with the current set of services.
1120 bluez::BluezDBusManager::Get() 1120 bluez::BluezDBusManager::Get()
1121 ->GetBluetoothGattManagerClient() 1121 ->GetBluetoothGattManagerClient()
1122 ->UnregisterApplication( 1122 ->UnregisterApplication(
1123 GetApplicationObjectPath(), 1123 object_path_, GetApplicationObjectPath(),
1124 base::Bind(&BluetoothAdapterBlueZ::RegisterApplication, 1124 base::Bind(&BluetoothAdapterBlueZ::RegisterApplication,
1125 weak_ptr_factory_.GetWeakPtr(), callback, error_callback), 1125 weak_ptr_factory_.GetWeakPtr(), callback, error_callback),
1126 base::Bind(&OnRegisterationErrorCallback, error_callback)); 1126 base::Bind(&OnRegisterationErrorCallback, error_callback));
1127 } 1127 }
1128 1128
1129 // Returns the object path of the adapter. 1129 // Returns the object path of the adapter.
1130 dbus::ObjectPath BluetoothAdapterBlueZ::GetApplicationObjectPath() const { 1130 dbus::ObjectPath BluetoothAdapterBlueZ::GetApplicationObjectPath() const {
1131 return dbus::ObjectPath(object_path_.value() + kGattApplicationObjectPath); 1131 return dbus::ObjectPath(object_path_.value() + kGattApplicationObjectPath);
1132 } 1132 }
1133 1133
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
1565 } 1565 }
1566 } 1566 }
1567 1567
1568 void BluetoothAdapterBlueZ::RegisterApplication( 1568 void BluetoothAdapterBlueZ::RegisterApplication(
1569 const base::Closure& callback, 1569 const base::Closure& callback,
1570 const device::BluetoothGattService::ErrorCallback& error_callback) { 1570 const device::BluetoothGattService::ErrorCallback& error_callback) {
1571 DCHECK(bluez::BluezDBusManager::Get()); 1571 DCHECK(bluez::BluezDBusManager::Get());
1572 bluez::BluezDBusManager::Get() 1572 bluez::BluezDBusManager::Get()
1573 ->GetBluetoothGattManagerClient() 1573 ->GetBluetoothGattManagerClient()
1574 ->RegisterApplication( 1574 ->RegisterApplication(
1575 GetApplicationObjectPath(), BluetoothGattManagerClient::Options(), 1575 object_path_, GetApplicationObjectPath(),
1576 callback, base::Bind(&OnRegisterationErrorCallback, error_callback)); 1576 BluetoothGattManagerClient::Options(), callback,
1577 base::Bind(&OnRegisterationErrorCallback, error_callback));
1577 } 1578 }
1578 1579
1579 } // namespace bluez 1580 } // namespace bluez
OLDNEW
« no previous file with comments | « no previous file | device/bluetooth/dbus/bluetooth_gatt_application_service_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698