fast_pair_bluetooth_config_delegate.cc 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/quick_pair/keyed_service/fast_pair_bluetooth_config_delegate.h"
  5. #include "ash/quick_pair/repository/fast_pair_repository.h"
  6. #include "base/callback_helpers.h"
  7. #include "chromeos/services/bluetooth_config/device_name_manager.h"
  8. #include "chromeos/services/bluetooth_config/public/cpp/device_image_info.h"
  9. namespace ash {
  10. namespace quick_pair {
  11. FastPairBluetoothConfigDelegate::FastPairBluetoothConfigDelegate() = default;
  12. FastPairBluetoothConfigDelegate::~FastPairBluetoothConfigDelegate() = default;
  13. void FastPairBluetoothConfigDelegate::AddObserver(Observer* observer) {
  14. observers_.AddObserver(observer);
  15. }
  16. void FastPairBluetoothConfigDelegate::RemoveObserver(Observer* observer) {
  17. observers_.RemoveObserver(observer);
  18. }
  19. absl::optional<chromeos::bluetooth_config::DeviceImageInfo>
  20. FastPairBluetoothConfigDelegate::GetDeviceImageInfo(
  21. const std::string& device_id) {
  22. return FastPairRepository::Get()->GetImagesForDevice(device_id);
  23. }
  24. void FastPairBluetoothConfigDelegate::ForgetDevice(
  25. const std::string& mac_address) {
  26. FastPairRepository::Get()->DeleteAssociatedDevice(mac_address,
  27. base::DoNothing());
  28. }
  29. void FastPairBluetoothConfigDelegate::SetAdapterStateController(
  30. chromeos::bluetooth_config::AdapterStateController*
  31. adapter_state_controller) {
  32. adapter_state_controller_ = adapter_state_controller;
  33. for (auto& observer : observers_) {
  34. observer.OnAdapterStateControllerChanged(adapter_state_controller_);
  35. }
  36. }
  37. void FastPairBluetoothConfigDelegate::SetDeviceNameManager(
  38. chromeos::bluetooth_config::DeviceNameManager* device_name_manager) {
  39. device_name_manager_ = device_name_manager;
  40. }
  41. } // namespace quick_pair
  42. } // namespace ash