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

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

Issue 2847233003: [EasyUnlock] Move DataWithTimestamp out of ForegroundEidGenerator so it can be shared. (Closed)
Patch Set: fixes Created 3 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 "chromeos/components/tether/ble_advertiser.h" 5 #include "chromeos/components/tether/ble_advertiser.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "chromeos/components/tether/ble_constants.h" 8 #include "chromeos/components/tether/ble_constants.h"
9 #include "chromeos/components/tether/local_device_data_provider.h" 9 #include "chromeos/components/tether/local_device_data_provider.h"
10 #include "components/cryptauth/proto/cryptauth_api.pb.h" 10 #include "components/cryptauth/proto/cryptauth_api.pb.h"
(...skipping 14 matching lines...) Expand all
25 25
26 void BleAdvertiser::BleAdvertisementUnregisterHandlerImpl:: 26 void BleAdvertiser::BleAdvertisementUnregisterHandlerImpl::
27 OnAdvertisementUnregisterFailure( 27 OnAdvertisementUnregisterFailure(
28 device::BluetoothAdvertisement::ErrorCode error_code) { 28 device::BluetoothAdvertisement::ErrorCode error_code) {
29 PA_LOG(ERROR) << "Error while unregistering advertisement. Error code: " 29 PA_LOG(ERROR) << "Error while unregistering advertisement. Error code: "
30 << error_code; 30 << error_code;
31 } 31 }
32 32
33 BleAdvertiser::IndividualAdvertisement::IndividualAdvertisement( 33 BleAdvertiser::IndividualAdvertisement::IndividualAdvertisement(
34 scoped_refptr<device::BluetoothAdapter> adapter, 34 scoped_refptr<device::BluetoothAdapter> adapter,
35 std::unique_ptr<cryptauth::ForegroundEidGenerator::DataWithTimestamp> 35 std::unique_ptr<cryptauth::DataWithTimestamp> advertisement_data,
36 advertisement_data,
37 std::shared_ptr<BleAdvertisementUnregisterHandler> unregister_handler) 36 std::shared_ptr<BleAdvertisementUnregisterHandler> unregister_handler)
38 : adapter_(adapter), 37 : adapter_(adapter),
39 is_initializing_advertising_(false), 38 is_initializing_advertising_(false),
40 advertisement_data_(std::move(advertisement_data)), 39 advertisement_data_(std::move(advertisement_data)),
41 unregister_handler_(unregister_handler), 40 unregister_handler_(unregister_handler),
42 advertisement_(nullptr), 41 advertisement_(nullptr),
43 weak_ptr_factory_(this) { 42 weak_ptr_factory_(this) {
44 adapter_->AddObserver(this); 43 adapter_->AddObserver(this);
45 AdvertiseIfPossible(); 44 AdvertiseIfPossible();
46 } 45 }
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 << remote_device.GetTruncatedDeviceIdForLogs() << ". " 203 << remote_device.GetTruncatedDeviceIdForLogs() << ". "
205 << "Cannot advertise without seeds."; 204 << "Cannot advertise without seeds.";
206 return false; 205 return false;
207 } else if (remote_beacon_seeds.empty()) { 206 } else if (remote_beacon_seeds.empty()) {
208 PA_LOG(WARNING) << "No synced seeds exist for device with ID " 207 PA_LOG(WARNING) << "No synced seeds exist for device with ID "
209 << remote_device.GetTruncatedDeviceIdForLogs() << ". " 208 << remote_device.GetTruncatedDeviceIdForLogs() << ". "
210 << "Cannot advertise without seeds."; 209 << "Cannot advertise without seeds.";
211 return false; 210 return false;
212 } 211 }
213 212
214 std::unique_ptr<cryptauth::ForegroundEidGenerator::DataWithTimestamp> 213 std::unique_ptr<cryptauth::DataWithTimestamp> advertisement =
215 advertisement = eid_generator_->GenerateAdvertisement( 214 eid_generator_->GenerateAdvertisement(local_device_public_key,
216 local_device_public_key, remote_beacon_seeds); 215 remote_beacon_seeds);
217 if (!advertisement) { 216 if (!advertisement) {
218 PA_LOG(WARNING) << "Error generating advertisement for device with ID " 217 PA_LOG(WARNING) << "Error generating advertisement for device with ID "
219 << remote_device.GetTruncatedDeviceIdForLogs() << ". " 218 << remote_device.GetTruncatedDeviceIdForLogs() << ". "
220 << "Cannot advertise."; 219 << "Cannot advertise.";
221 return false; 220 return false;
222 } 221 }
223 222
224 device_id_to_advertisement_map_[remote_device.GetDeviceId()] = 223 device_id_to_advertisement_map_[remote_device.GetDeviceId()] =
225 make_scoped_refptr(new IndividualAdvertisement( 224 make_scoped_refptr(new IndividualAdvertisement(
226 adapter_, std::move(advertisement), unregister_handler_)); 225 adapter_, std::move(advertisement), unregister_handler_));
227 return true; 226 return true;
228 } 227 }
229 228
230 bool BleAdvertiser::StopAdvertisingToDevice( 229 bool BleAdvertiser::StopAdvertisingToDevice(
231 const cryptauth::RemoteDevice& remote_device) { 230 const cryptauth::RemoteDevice& remote_device) {
232 return device_id_to_advertisement_map_.erase(remote_device.GetDeviceId()) > 0; 231 return device_id_to_advertisement_map_.erase(remote_device.GetDeviceId()) > 0;
233 } 232 }
234 233
235 } // namespace tether 234 } // namespace tether
236 235
237 } // namespace chromeos 236 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/components/tether/ble_advertiser.h ('k') | chromeos/components/tether/ble_advertiser_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698