ambient_view_delegate_impl.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright 2020 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/ambient/ambient_view_delegate_impl.h"
  5. #include "ash/ambient/ambient_controller.h"
  6. #include "ash/ambient/model/ambient_backend_model.h"
  7. #include "base/bind.h"
  8. #include "base/check.h"
  9. #include "base/threading/sequenced_task_runner_handle.h"
  10. namespace ash {
  11. AmbientViewDelegateImpl::AmbientViewDelegateImpl(
  12. AmbientController* ambient_controller)
  13. : ambient_controller_(ambient_controller) {}
  14. AmbientViewDelegateImpl::~AmbientViewDelegateImpl() = default;
  15. void AmbientViewDelegateImpl::AddObserver(
  16. AmbientViewDelegateObserver* observer) {
  17. view_delegate_observers_.AddObserver(observer);
  18. }
  19. void AmbientViewDelegateImpl::RemoveObserver(
  20. AmbientViewDelegateObserver* observer) {
  21. view_delegate_observers_.RemoveObserver(observer);
  22. }
  23. AmbientBackendModel* AmbientViewDelegateImpl::GetAmbientBackendModel() {
  24. return ambient_controller_->GetAmbientBackendModel();
  25. }
  26. AmbientWeatherModel* AmbientViewDelegateImpl::GetAmbientWeatherModel() {
  27. return ambient_controller_->GetAmbientWeatherModel();
  28. }
  29. void AmbientViewDelegateImpl::NotifyObserversMarkerHit(
  30. AmbientPhotoConfig::Marker marker) {
  31. for (AmbientViewDelegateObserver& observer : view_delegate_observers_) {
  32. observer.OnMarkerHit(marker);
  33. }
  34. }
  35. } // namespace ash