blob: a5cac881afca7617589a24fc338436923651f852 [file] [log] [blame]
// Copyright 2017 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/tether/fake_tether_component.h"
namespace chromeos {
namespace tether {
FakeTetherComponent::FakeTetherComponent(bool has_asynchronous_shutdown)
: has_asynchronous_shutdown_(has_asynchronous_shutdown) {}
FakeTetherComponent::~FakeTetherComponent() = default;
void FakeTetherComponent::FinishAsynchronousShutdown() {
DCHECK(status() == TetherComponent::Status::SHUTTING_DOWN);
TransitionToStatus(TetherComponent::Status::SHUT_DOWN);
}
void FakeTetherComponent::RequestShutdown(
const ShutdownReason& shutdown_reason) {
DCHECK(status() == TetherComponent::Status::ACTIVE);
last_shutdown_reason_ = std::make_unique<ShutdownReason>(shutdown_reason);
if (has_asynchronous_shutdown_)
TransitionToStatus(TetherComponent::Status::SHUTTING_DOWN);
else
TransitionToStatus(TetherComponent::Status::SHUT_DOWN);
}
} // namespace tether
} // namespace chromeos