OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |