| {{/* |
| // Copyright 2021 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:TypesHeader" -}} |
| fidl/{{ .LibraryDots }}/cpp/wire_types.h |
| {{- end }} |
| |
| |
| {{- define "File:TypesHeader" -}} |
| {{- UseWire -}} |
| // WARNING: This file is machine generated by fidlgen. |
| |
| #pragma once |
| |
| #include <cinttypes> |
| |
| #include <lib/fidl/llcpp/array.h> |
| #include <lib/fidl/llcpp/coding.h> |
| #include <lib/fidl/llcpp/envelope.h> |
| #include <lib/fidl/llcpp/message_storage.h> |
| #include <lib/fidl/llcpp/message.h> |
| #include <lib/fidl/llcpp/object_view.h> |
| #include <lib/fidl/llcpp/string_view.h> |
| #include <lib/fidl/llcpp/traits.h> |
| #include <lib/fidl/llcpp/wire_types.h> |
| #include <lib/stdcompat/optional.h> |
| {{- IfdefFuchsia -}} |
| {{ range .HandleTypes -}} |
| #include <lib/zx/{{ . }}.h> |
| {{ end -}} |
| {{- EndifFuchsia }} |
| |
| #include <{{ .Library | Filename "Markers" }}> |
| {{ range .Dependencies -}} |
| #include <{{ . | Filename "TypesHeader" }}> |
| {{ end }} |
| |
| {{ range .Bits }}{{ template "Bits:ForwardDeclaration:TypesHeader" . }}{{ end }} |
| {{ range .Enums }}{{ template "Enum:ForwardDeclaration:TypesHeader" . }}{{ end }} |
| {{ range .Structs | SkipRequestResponseDecls }}{{ template "Struct:ForwardDeclaration:TypesHeader" . }}{{ end }} |
| {{ range .Tables | SkipRequestResponseDecls }}{{ template "Table:ForwardDeclaration:TypesHeader" . }}{{ end }} |
| {{ range .Unions | SkipRequestResponseDecls }}{{ template "Union:ForwardDeclaration:TypesHeader" . }}{{ end }} |
| |
| {{- /* Resolve inline object declaration order by defining small inline structs first |
| (size <= 4 so can't contain a table or a union), then tables and unions, then |
| the remaining types. */}} |
| {{- range .Structs | SkipRequestResponseDecls }} |
| {{ if le .TypeShapeV2.InlineSize 4 }}{{ template "Struct:TypesHeader" . }}{{ end }} |
| {{- end }} |
| {{ range .Tables | SkipRequestResponseDecls }}{{ template "Table:TypesHeader" . }}{{ end }} |
| {{ range .Unions | SkipRequestResponseDecls }}{{ template "Union:TypesHeader" . }}{{ end }} |
| {{ range .Consts }}{{ template "Const:TypesHeader" . }}{{ end }} |
| {{ range .Structs | SkipRequestResponseDecls }} |
| {{ if gt .TypeShapeV2.InlineSize 4 }}{{ template "Struct:TypesHeader" . }}{{ end }} |
| {{- end }} |
| |
| {{ EnsureNamespace "fidl" }} |
| |
| {{ range .Bits }}{{ template "Bits:Traits:TypesHeader" . }}{{ end }} |
| {{ range .Structs | SkipRequestResponseDecls }}{{ template "Struct:Traits:TypesHeader" . }}{{ end }} |
| {{ range .Tables | SkipRequestResponseDecls }}{{ template "Table:Traits:TypesHeader" . }}{{ end }} |
| {{ range .Unions | SkipRequestResponseDecls }}{{ template "Union:Traits:TypesHeader" . }}{{ end }} |
| {{ range .Enums }}{{ template "Enum:Traits:TypesHeader" . }}{{ end }} |
| |
| {{ EndOfFile }} |
| {{ end }} |
| |
| |