| #include <fidl/{{fidl_library_name}}/cpp/wire.h> |
| #include <fidl/{{fidl_library_name}}/cpp/wire_types.h> |
| #include <lib/fidl/llcpp/message.h> |
| #include <lib/fidl/llcpp/traits.h> |
| #include <lib/zx/vmo.h> |
| #include <zircon/assert.h> |
| #include <zircon/process.h> |
| #include <zircon/processargs.h> |
| #include <zircon/status.h> |
| #include <zircon/syscalls.h> |
| |
| #include <iostream> |
| #include <string> |
| #include <vector> |
| |
| #include "{{cpp_namespace}}.h" |
| |
| namespace {{cpp_namespace}} { |
| |
| {{> helpers }} |
| |
| Config Config::TakeFromStartArgs(fuchsia_driver_framework::wire::DriverStartArgs& start_args) noexcept { |
| // Get the VMO containing FIDL config |
| ZX_ASSERT_MSG(start_args.has_config(), "No config found in driver start args"); |
| auto config_vmo = std::move(start_args.config()); |
| |
| {{> vmo_parse }} |
| } |
| |
| } |