fake_remote_device_life_cycle.cc 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright 2015 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/proximity_auth/fake_remote_device_life_cycle.h"
  5. namespace proximity_auth {
  6. FakeRemoteDeviceLifeCycle::FakeRemoteDeviceLifeCycle(
  7. ash::multidevice::RemoteDeviceRef remote_device,
  8. absl::optional<ash::multidevice::RemoteDeviceRef> local_device)
  9. : remote_device_(remote_device),
  10. local_device_(local_device),
  11. started_(false),
  12. state_(RemoteDeviceLifeCycle::State::STOPPED) {}
  13. FakeRemoteDeviceLifeCycle::~FakeRemoteDeviceLifeCycle() = default;
  14. void FakeRemoteDeviceLifeCycle::Start() {
  15. started_ = true;
  16. ChangeState(RemoteDeviceLifeCycle::State::FINDING_CONNECTION);
  17. }
  18. ash::multidevice::RemoteDeviceRef FakeRemoteDeviceLifeCycle::GetRemoteDevice()
  19. const {
  20. return remote_device_;
  21. }
  22. ash::secure_channel::ClientChannel* FakeRemoteDeviceLifeCycle::GetChannel()
  23. const {
  24. return channel_;
  25. }
  26. RemoteDeviceLifeCycle::State FakeRemoteDeviceLifeCycle::GetState() const {
  27. return state_;
  28. }
  29. Messenger* FakeRemoteDeviceLifeCycle::GetMessenger() {
  30. return messenger_;
  31. }
  32. void FakeRemoteDeviceLifeCycle::AddObserver(Observer* observer) {
  33. observers_.AddObserver(observer);
  34. }
  35. void FakeRemoteDeviceLifeCycle::RemoveObserver(Observer* observer) {
  36. observers_.RemoveObserver(observer);
  37. }
  38. void FakeRemoteDeviceLifeCycle::ChangeState(State new_state) {
  39. State old_state = state_;
  40. state_ = new_state;
  41. for (auto& observer : observers_)
  42. observer.OnLifeCycleStateChanged(old_state, new_state);
  43. }
  44. } // namespace proximity_auth