blob: efb3f20fa0fe8a78f1b07856566fdaeae3bdac6a [file] [log] [blame]
// Copyright 2015 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/components/proximity_auth/fake_remote_device_life_cycle.h"
namespace proximity_auth {
FakeRemoteDeviceLifeCycle::FakeRemoteDeviceLifeCycle(
cryptauth::RemoteDeviceRef remote_device,
base::Optional<cryptauth::RemoteDeviceRef> local_device)
: remote_device_(remote_device),
local_device_(local_device),
started_(false),
state_(RemoteDeviceLifeCycle::State::STOPPED) {}
FakeRemoteDeviceLifeCycle::~FakeRemoteDeviceLifeCycle() {}
void FakeRemoteDeviceLifeCycle::Start() {
started_ = true;
}
cryptauth::RemoteDeviceRef FakeRemoteDeviceLifeCycle::GetRemoteDevice() const {
return remote_device_;
}
chromeos::secure_channel::ClientChannel* FakeRemoteDeviceLifeCycle::GetChannel()
const {
return channel_;
}
RemoteDeviceLifeCycle::State FakeRemoteDeviceLifeCycle::GetState() const {
return state_;
}
Messenger* FakeRemoteDeviceLifeCycle::GetMessenger() {
return messenger_;
}
void FakeRemoteDeviceLifeCycle::AddObserver(Observer* observer) {
observers_.AddObserver(observer);
}
void FakeRemoteDeviceLifeCycle::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer);
}
void FakeRemoteDeviceLifeCycle::ChangeState(State new_state) {
State old_state = state_;
state_ = new_state;
for (auto& observer : observers_)
observer.OnLifeCycleStateChanged(old_state, new_state);
}
} // namespace proximity_auth