blob: 169f74c4fdd2247632e6bf39e3290ea0cf6ba6b7 [file] [log] [blame]
// Copyright 2023 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.
#ifndef LIB_DRIVER_COMPONENT_CPP_TESTS_TEST_DRIVER_H_
#define LIB_DRIVER_COMPONENT_CPP_TESTS_TEST_DRIVER_H_
#include <lib/driver/component/cpp/driver_cpp.h>
class TestDriver : public fdf::DriverBase {
public:
TestDriver(fdf::DriverStartArgs start_args, fdf::UnownedSynchronizedDispatcher driver_dispatcher)
: fdf::DriverBase("test_driver", std::move(start_args), std::move(driver_dispatcher)) {}
zx::result<> Start() override;
void PrepareStop(fdf::PrepareStopCompleter completer) override;
void CreateChildNodeSync();
void CreateChildNodeAsync();
bool async_added_child() const { return async_added_child_; }
bool sync_added_child() const { return sync_added_child_; }
private:
fidl::WireClient<fuchsia_driver_framework::Node> node_client_;
bool async_added_child_ = false;
bool sync_added_child_ = false;
};
#endif // LIB_DRIVER_COMPONENT_CPP_TESTS_TEST_DRIVER_H_