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

Side by Side Diff: chromeos/components/tether/ble_connection_manager.cc

Issue 2915833003: Tether: Break helper TimerFactory out of BleConnectionManager and HostScanCache. (Closed)
Patch Set: khorimoto@ comments. Created 3 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "chromeos/components/tether/ble_connection_manager.h" 5 #include "chromeos/components/tether/ble_connection_manager.h"
6 6
7 #include "chromeos/components/tether/ble_constants.h" 7 #include "chromeos/components/tether/ble_constants.h"
8 #include "chromeos/components/tether/timer_factory.h"
8 #include "components/cryptauth/ble/bluetooth_low_energy_weave_client_connection. h" 9 #include "components/cryptauth/ble/bluetooth_low_energy_weave_client_connection. h"
9 #include "components/cryptauth/cryptauth_service.h" 10 #include "components/cryptauth/cryptauth_service.h"
10 #include "components/proximity_auth/logging/logging.h" 11 #include "components/proximity_auth/logging/logging.h"
11 #include "device/bluetooth/bluetooth_uuid.h" 12 #include "device/bluetooth/bluetooth_uuid.h"
12 13
13 namespace chromeos { 14 namespace chromeos {
14 15
15 namespace tether { 16 namespace tether {
16 17
17 namespace { 18 namespace {
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 const std::string& payload) { 159 const std::string& payload) {
159 DCHECK(secure_channel_.get() == secure_channel); 160 DCHECK(secure_channel_.get() == secure_channel);
160 if (feature != std::string(kTetherFeature)) { 161 if (feature != std::string(kTetherFeature)) {
161 // If the message received was not a tether feature, ignore it. 162 // If the message received was not a tether feature, ignore it.
162 return; 163 return;
163 } 164 }
164 165
165 manager_->SendMessageReceivedEvent(remote_device_, payload); 166 manager_->SendMessageReceivedEvent(remote_device_, payload);
166 } 167 }
167 168
168 std::unique_ptr<base::Timer> BleConnectionManager::TimerFactory::CreateTimer() {
169 return base::MakeUnique<base::OneShotTimer>();
170 }
171
172 BleConnectionManager::BleConnectionManager( 169 BleConnectionManager::BleConnectionManager(
173 cryptauth::CryptAuthService* cryptauth_service, 170 cryptauth::CryptAuthService* cryptauth_service,
174 scoped_refptr<device::BluetoothAdapter> adapter, 171 scoped_refptr<device::BluetoothAdapter> adapter,
175 const LocalDeviceDataProvider* local_device_data_provider, 172 const LocalDeviceDataProvider* local_device_data_provider,
176 const cryptauth::RemoteBeaconSeedFetcher* remote_beacon_seed_fetcher, 173 const cryptauth::RemoteBeaconSeedFetcher* remote_beacon_seed_fetcher,
177 cryptauth::BluetoothThrottler* bluetooth_throttler) 174 cryptauth::BluetoothThrottler* bluetooth_throttler)
178 : BleConnectionManager( 175 : BleConnectionManager(
179 cryptauth_service, 176 cryptauth_service,
180 adapter, 177 adapter,
181 base::MakeUnique<BleScanner>(adapter, local_device_data_provider), 178 base::MakeUnique<BleScanner>(adapter, local_device_data_provider),
182 base::MakeUnique<BleAdvertiser>(adapter, 179 base::MakeUnique<BleAdvertiser>(adapter,
183 local_device_data_provider, 180 local_device_data_provider,
184 remote_beacon_seed_fetcher), 181 remote_beacon_seed_fetcher),
185 base::MakeUnique<BleAdvertisementDeviceQueue>(), 182 base::MakeUnique<BleAdvertisementDeviceQueue>(),
186 base::WrapUnique<TimerFactory>(new TimerFactory()), 183 base::MakeUnique<TimerFactory>(),
187 bluetooth_throttler) {} 184 bluetooth_throttler) {}
188 185
189 BleConnectionManager::BleConnectionManager( 186 BleConnectionManager::BleConnectionManager(
190 cryptauth::CryptAuthService* cryptauth_service, 187 cryptauth::CryptAuthService* cryptauth_service,
191 scoped_refptr<device::BluetoothAdapter> adapter, 188 scoped_refptr<device::BluetoothAdapter> adapter,
192 std::unique_ptr<BleScanner> ble_scanner, 189 std::unique_ptr<BleScanner> ble_scanner,
193 std::unique_ptr<BleAdvertiser> ble_advertiser, 190 std::unique_ptr<BleAdvertiser> ble_advertiser,
194 std::unique_ptr<BleAdvertisementDeviceQueue> device_queue, 191 std::unique_ptr<BleAdvertisementDeviceQueue> device_queue,
195 std::unique_ptr<TimerFactory> timer_factory, 192 std::unique_ptr<TimerFactory> timer_factory,
196 cryptauth::BluetoothThrottler* bluetooth_throttler) 193 cryptauth::BluetoothThrottler* bluetooth_throttler)
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 362
366 std::shared_ptr<BleConnectionManager::ConnectionMetadata> 363 std::shared_ptr<BleConnectionManager::ConnectionMetadata>
367 BleConnectionManager::AddMetadataForDevice( 364 BleConnectionManager::AddMetadataForDevice(
368 const cryptauth::RemoteDevice& remote_device) { 365 const cryptauth::RemoteDevice& remote_device) {
369 std::shared_ptr<ConnectionMetadata> existing_data = 366 std::shared_ptr<ConnectionMetadata> existing_data =
370 GetConnectionMetadata(remote_device); 367 GetConnectionMetadata(remote_device);
371 if (existing_data) { 368 if (existing_data) {
372 return existing_data; 369 return existing_data;
373 } 370 }
374 371
375 std::unique_ptr<base::Timer> timer = timer_factory_->CreateTimer(); 372 std::unique_ptr<base::Timer> timer = timer_factory_->CreateOneShotTimer();
376 device_to_metadata_map_.insert( 373 device_to_metadata_map_.insert(
377 std::pair<cryptauth::RemoteDevice, std::shared_ptr<ConnectionMetadata>>( 374 std::pair<cryptauth::RemoteDevice, std::shared_ptr<ConnectionMetadata>>(
378 remote_device, 375 remote_device,
379 std::shared_ptr<ConnectionMetadata>( 376 std::shared_ptr<ConnectionMetadata>(
380 new ConnectionMetadata(remote_device, std::move(timer), 377 new ConnectionMetadata(remote_device, std::move(timer),
381 weak_ptr_factory_.GetWeakPtr())))); 378 weak_ptr_factory_.GetWeakPtr()))));
382 return device_to_metadata_map_.at(remote_device); 379 return device_to_metadata_map_.at(remote_device);
383 } 380 }
384 381
385 void BleConnectionManager::UpdateConnectionAttempts() { 382 void BleConnectionManager::UpdateConnectionAttempts() {
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 << cryptauth::SecureChannel::StatusToString(new_status); 500 << cryptauth::SecureChannel::StatusToString(new_status);
504 for (auto& observer : observer_list_) { 501 for (auto& observer : observer_list_) {
505 observer.OnSecureChannelStatusChanged(remote_device, old_status, 502 observer.OnSecureChannelStatusChanged(remote_device, old_status,
506 new_status); 503 new_status);
507 } 504 }
508 } 505 }
509 506
510 } // namespace tether 507 } // namespace tether
511 508
512 } // namespace chromeos 509 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/components/tether/ble_connection_manager.h ('k') | chromeos/components/tether/ble_connection_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698