blob: 11d2f5f1ab576753158ff6b7c8896012610832bb [file] [log] [blame]
// Copyright 2024 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_TESTING_CPP_MINIMAL_COMPAT_ENVIRONMENT_H_
#define LIB_DRIVER_TESTING_CPP_MINIMAL_COMPAT_ENVIRONMENT_H_
#include <lib/driver/compat/cpp/device_server.h>
namespace fdf_testing {
// A minimal class with a compat device server that can be used as
// the Configuration's EnvironmentType if there are no needed
// customizations to the environment or compat server.
class MinimalCompatEnvironment : public Environment {
public:
zx::result<> Serve(fdf::OutgoingDirectory& to_driver_vfs) override {
device_server_.Initialize(component::kDefaultInstance);
return zx::make_result(
device_server_.Serve(fdf::Dispatcher::GetCurrent()->async_dispatcher(), &to_driver_vfs));
return zx::ok();
}
private:
compat::DeviceServer device_server_;
};
} // namespace fdf_testing
#endif // LIB_DRIVER_TESTING_CPP_MINIMAL_COMPAT_ENVIRONMENT_H_