blob: 7bde06b9d703ca73ac412006b6cf434eb7191460 [file] [log] [blame]
{{/*
// Copyright 2022 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.
*/}}
{{- define "Filename:TypeConversionsHeader" -}}
fidl/{{ .LibraryDots }}/cpp/type_conversions.h
{{- end }}
{{- define "File:TypeConversionsHeader" -}}
// WARNING: This file is machine generated by fidlgen.
#pragma once
#include <{{ .Library | Filename "Markers" }}>
#include <{{ .Library | Filename "WireTypesHeader" }}>
#include <{{ .Library | Filename "NaturalTypesHeader" }}>
{{- IfdefFuchsia -}}
#include <{{ .Library | Filename "WireMessagingHeader" }}>
#include <{{ .Library | Filename "NaturalMessagingHeader" }}>
{{- EndifFuchsia -}}
#include <lib/fidl/cpp/wire_natural_conversions.h>
{{ range .Dependencies -}}
#include <{{ . | Filename "TypeConversionsHeader" }}>
{{ end -}}
{{ EnsureNamespace "fidl::internal" }}
{{ range .Structs }}{{ template "Struct:Traits:TypeConversionsHeader" . }}{{ end }}
{{ range .Tables }}{{ template "Table:Traits:TypeConversionsHeader" . }}{{ end }}
{{ range .Unions }}{{ template "Union:Traits:TypeConversionsHeader" . }}{{ end }}
{{ IfdefFuchsia -}}
{{- range .Decls }}
{{- if Eq .Kind Kinds.Protocol }}{{ $protocol := . }}
{{- range $transport, $_ := .Transports }}
{{- if eq $transport "Channel" -}}
{{- range $protocol.ClientMethods }}
{{ template "Method:Request:Traits:TypeConversionsHeader" . }}
{{- end }}
{{- range $protocol.TwoWayMethods }}
{{ template "Method:Response:Traits:TypeConversionsHeader" . }}
{{- end }}
{{- range $protocol.Events }}
{{ template "Method:Event:Traits:TypeConversionsHeader" . }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- EndifFuchsia -}}
{{- EndOfFile }}
{{ end }}