| 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::EidDataWithTimestamp> 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::EidDataWithTimestamp> 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 |