message_receiver.cc 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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/components/phonehub/message_receiver.h"
  5. #include "ash/components/phonehub/proto/phonehub_api.pb.h"
  6. namespace ash {
  7. namespace phonehub {
  8. MessageReceiver::MessageReceiver() = default;
  9. MessageReceiver::~MessageReceiver() = default;
  10. void MessageReceiver::AddObserver(Observer* observer) {
  11. observer_list_.AddObserver(observer);
  12. }
  13. void MessageReceiver::RemoveObserver(Observer* observer) {
  14. observer_list_.RemoveObserver(observer);
  15. }
  16. void MessageReceiver::NotifyPhoneStatusSnapshotReceived(
  17. proto::PhoneStatusSnapshot phone_status_snapshot) {
  18. for (auto& observer : observer_list_)
  19. observer.OnPhoneStatusSnapshotReceived(phone_status_snapshot);
  20. }
  21. void MessageReceiver::NotifyPhoneStatusUpdateReceived(
  22. proto::PhoneStatusUpdate phone_status_update) {
  23. for (auto& observer : observer_list_)
  24. observer.OnPhoneStatusUpdateReceived(phone_status_update);
  25. }
  26. void MessageReceiver::NotifyFeatureSetupResponseReceived(
  27. proto::FeatureSetupResponse response) {
  28. for (auto& observer : observer_list_)
  29. observer.OnFeatureSetupResponseReceived(response);
  30. }
  31. void MessageReceiver::NotifyFetchCameraRollItemsResponseReceived(
  32. const proto::FetchCameraRollItemsResponse& response) {
  33. for (auto& observer : observer_list_)
  34. observer.OnFetchCameraRollItemsResponseReceived(response);
  35. }
  36. void MessageReceiver::NotifyFetchCameraRollItemDataResponseReceived(
  37. const proto::FetchCameraRollItemDataResponse& response) {
  38. for (auto& observer : observer_list_)
  39. observer.OnFetchCameraRollItemDataResponseReceived(response);
  40. }
  41. } // namespace phonehub
  42. } // namespace ash