fake_host_status_provider.cc 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright 2018 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/services/multidevice_setup/fake_host_status_provider.h"
  5. namespace ash {
  6. namespace multidevice_setup {
  7. FakeHostStatusProvider::FakeHostStatusProvider() = default;
  8. FakeHostStatusProvider::~FakeHostStatusProvider() = default;
  9. void FakeHostStatusProvider::SetHostWithStatus(
  10. mojom::HostStatus host_status,
  11. const absl::optional<multidevice::RemoteDeviceRef>& host_device) {
  12. bool should_notify =
  13. host_status_ != host_status || host_device_ != host_device;
  14. host_status_ = host_status;
  15. host_device_ = host_device;
  16. if (!should_notify)
  17. return;
  18. NotifyHostStatusChange(host_status_, host_device_);
  19. }
  20. HostStatusProvider::HostStatusWithDevice
  21. FakeHostStatusProvider::GetHostWithStatus() const {
  22. return HostStatusWithDevice(host_status_, host_device_);
  23. }
  24. FakeHostStatusProviderObserver::FakeHostStatusProviderObserver() = default;
  25. FakeHostStatusProviderObserver::~FakeHostStatusProviderObserver() = default;
  26. void FakeHostStatusProviderObserver::OnHostStatusChange(
  27. const HostStatusProvider::HostStatusWithDevice& host_status_with_device) {
  28. host_status_updates_.push_back(host_status_with_device);
  29. }
  30. } // namespace multidevice_setup
  31. } // namespace ash