Index: device/bluetooth/bluetooth_adapter.cc |
diff --git a/device/bluetooth/bluetooth_adapter.cc b/device/bluetooth/bluetooth_adapter.cc |
index fd2e29b3edce0e4d810edc1d0c083d4b6e80078d..14679d62c5149fb19820fd9f9ff367e554a5b545 100644 |
--- a/device/bluetooth/bluetooth_adapter.cc |
+++ b/device/bluetooth/bluetooth_adapter.cc |
@@ -24,22 +24,20 @@ base::WeakPtr<BluetoothAdapter> BluetoothAdapter::CreateAdapter( |
} |
#endif // !defined(OS_CHROMEOS) && !defined(OS_WIN) && !defined(OS_MACOSX) |
+base::WeakPtr<BluetoothAdapter> BluetoothAdapter::GetWeakPtrForTesting() { |
+ return weak_ptr_factory_.GetWeakPtr(); |
+} |
+ |
#if defined(OS_CHROMEOS) |
void BluetoothAdapter::Shutdown() { |
NOTIMPLEMENTED(); |
} |
#endif |
-BluetoothAdapter::BluetoothAdapter() |
- : weak_ptr_factory_(this) { |
-} |
- |
-BluetoothAdapter::~BluetoothAdapter() { |
- STLDeleteValues(&devices_); |
-} |
- |
-base::WeakPtr<BluetoothAdapter> BluetoothAdapter::GetWeakPtrForTesting() { |
- return weak_ptr_factory_.GetWeakPtr(); |
+void BluetoothAdapter::StartDiscoverySession( |
+ const DiscoverySessionCallback& callback, |
+ const ErrorCallback& error_callback) { |
+ StartDiscoverySessionWithFilter(nullptr, callback, error_callback); |
} |
void BluetoothAdapter::StartDiscoverySessionWithFilter( |
@@ -53,50 +51,6 @@ void BluetoothAdapter::StartDiscoverySessionWithFilter( |
error_callback); |
} |
-void BluetoothAdapter::StartDiscoverySession( |
- const DiscoverySessionCallback& callback, |
- const ErrorCallback& error_callback) { |
- StartDiscoverySessionWithFilter(nullptr, callback, error_callback); |
-} |
- |
-scoped_ptr<BluetoothDiscoveryFilter> |
-BluetoothAdapter::GetMergedDiscoveryFilterHelper( |
- const BluetoothDiscoveryFilter* masked_filter, |
- bool omit) const { |
- scoped_ptr<BluetoothDiscoveryFilter> result; |
- bool first_merge = true; |
- |
- std::set<BluetoothDiscoverySession*> temp(discovery_sessions_); |
- for (const auto& iter : temp) { |
- const BluetoothDiscoveryFilter* curr_filter = iter->GetDiscoveryFilter(); |
- |
- if (!iter->IsActive()) |
- continue; |
- |
- if (omit && curr_filter == masked_filter) { |
- // if masked_filter is pointing to empty filter, and there are |
- // multiple empty filters in discovery_sessions_, make sure we'll |
- // process next empty sessions. |
- omit = false; |
- continue; |
- } |
- |
- if (first_merge) { |
- first_merge = false; |
- if (curr_filter) { |
- result.reset(new BluetoothDiscoveryFilter( |
- BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL)); |
- result->CopyFrom(*curr_filter); |
- } |
- continue; |
- } |
- |
- result = BluetoothDiscoveryFilter::Merge(result.get(), curr_filter); |
- } |
- |
- return result.Pass(); |
-} |
- |
scoped_ptr<BluetoothDiscoveryFilter> |
BluetoothAdapter::GetMergedDiscoveryFilter() const { |
return GetMergedDiscoveryFilterHelper(nullptr, false); |
@@ -183,6 +137,13 @@ BluetoothDevice::PairingDelegate* BluetoothAdapter::DefaultPairingDelegate() { |
return pairing_delegates_.front().first; |
} |
+BluetoothAdapter::BluetoothAdapter() : weak_ptr_factory_(this) { |
+} |
+ |
+BluetoothAdapter::~BluetoothAdapter() { |
+ STLDeleteValues(&devices_); |
+} |
+ |
void BluetoothAdapter::OnStartDiscoverySession( |
scoped_ptr<BluetoothDiscoveryFilter> discovery_filter, |
const DiscoverySessionCallback& callback) { |
@@ -213,4 +174,42 @@ void BluetoothAdapter::DiscoverySessionBecameInactive( |
discovery_sessions_.erase(discovery_session); |
} |
+scoped_ptr<BluetoothDiscoveryFilter> |
+BluetoothAdapter::GetMergedDiscoveryFilterHelper( |
+ const BluetoothDiscoveryFilter* masked_filter, |
+ bool omit) const { |
+ scoped_ptr<BluetoothDiscoveryFilter> result; |
+ bool first_merge = true; |
+ |
+ std::set<BluetoothDiscoverySession*> temp(discovery_sessions_); |
+ for (const auto& iter : temp) { |
+ const BluetoothDiscoveryFilter* curr_filter = iter->GetDiscoveryFilter(); |
+ |
+ if (!iter->IsActive()) |
+ continue; |
+ |
+ if (omit && curr_filter == masked_filter) { |
+ // if masked_filter is pointing to empty filter, and there are |
+ // multiple empty filters in discovery_sessions_, make sure we'll |
+ // process next empty sessions. |
+ omit = false; |
+ continue; |
+ } |
+ |
+ if (first_merge) { |
+ first_merge = false; |
+ if (curr_filter) { |
+ result.reset(new BluetoothDiscoveryFilter( |
+ BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL)); |
+ result->CopyFrom(*curr_filter); |
+ } |
+ continue; |
+ } |
+ |
+ result = BluetoothDiscoveryFilter::Merge(result.get(), curr_filter); |
+ } |
+ |
+ return result.Pass(); |
+} |
+ |
} // namespace device |