blob: 5b1c814e05a47e74094e54fe6e3b4dbb0db4f578 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromeos/services/multidevice_setup/fake_host_status_provider.h"
namespace chromeos {
namespace multidevice_setup {
FakeHostStatusProvider::FakeHostStatusProvider() = default;
FakeHostStatusProvider::~FakeHostStatusProvider() = default;
void FakeHostStatusProvider::SetHostWithStatus(
mojom::HostStatus host_status,
const base::Optional<multidevice::RemoteDeviceRef>& host_device) {
bool should_notify =
host_status_ != host_status || host_device_ != host_device;
host_status_ = host_status;
host_device_ = host_device;
if (!should_notify)
return;
NotifyHostStatusChange(host_status_, host_device_);
}
HostStatusProvider::HostStatusWithDevice
FakeHostStatusProvider::GetHostWithStatus() const {
return HostStatusWithDevice(host_status_, host_device_);
}
FakeHostStatusProviderObserver::FakeHostStatusProviderObserver() = default;
FakeHostStatusProviderObserver::~FakeHostStatusProviderObserver() = default;
void FakeHostStatusProviderObserver::OnHostStatusChange(
const HostStatusProvider::HostStatusWithDevice& host_status_with_device) {
host_status_updates_.push_back(host_status_with_device);
}
} // namespace multidevice_setup
} // namespace chromeos