#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::TakeFromStartupHandle() noexcept {
  // Get the VMO containing FIDL config
  zx_handle_t config_vmo_handle = zx_take_startup_handle(PA_CONFIG_VMO);
  ZX_ASSERT_MSG(config_vmo_handle != ZX_HANDLE_INVALID, "Could not obtain Config VMO Handle");
  zx::vmo config_vmo(config_vmo_handle);

  {{> vmo_parse }}
}

}
