blob: b703abdca6bf09562b740ecee050f8d1886791c1 [file]
// Copyright 2026 The Fuchsia 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 <lib/driver/fake-reset/cpp/fake-reset.h>
namespace fdf_fake {
fuchsia_hardware_reset::Service::InstanceHandler FakeReset::CreateInstanceHandler() {
return fuchsia_hardware_reset::Service::InstanceHandler({
.reset = bindings_.CreateHandler(this, dispatcher_, fidl::kIgnoreBindingClosure),
});
}
bool FakeReset::take_toggled() {
bool toggled = toggled_;
toggled_ = false;
return toggled;
}
bool FakeReset::take_asserted() {
bool asserted = asserted_;
asserted_ = false;
return asserted;
}
bool FakeReset::take_deasserted() {
bool deasserted = deasserted_;
deasserted_ = false;
return deasserted;
}
void FakeReset::Toggle(ToggleCompleter::Sync& completer) {
toggled_ = true;
completer.Reply(zx::ok());
}
void FakeReset::ToggleWithTimeout(ToggleWithTimeoutRequestView request,
ToggleWithTimeoutCompleter::Sync& completer) {
toggled_ = true;
completer.Reply(zx::ok());
}
void FakeReset::Assert(AssertCompleter::Sync& completer) {
asserted_ = true;
completer.Reply(zx::ok());
}
void FakeReset::Deassert(DeassertCompleter::Sync& completer) {
deasserted_ = true;
completer.Reply(zx::ok());
}
} // namespace fdf_fake