blob: e3bf514e9619dd7f5ee0c66d0b189bdfb65acf96 [file] [log] [blame]
{{/*
// 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:Markers" -}}
fidl/{{ .LibraryDots }}/cpp/markers.h
{{- end }}
{{- define "File:Markers" -}}
{{- UseWire -}}
// WARNING: This file is machine generated by fidlgen.
{{ range $experiment := .Experiments }}
// fidl_experiment = {{ $experiment }}
{{- end }}
#pragma once
#include <lib/fidl/cpp/wire/internal/transport.h>
#include <lib/fidl/cpp/wire/unknown_interactions.h>
{{ range .Protocols }}
{{- $protocol := . }}
{{ EnsureNamespace . }}
{{ .Docs }}
class {{ .Name }} final {
{{ .Name }}() = delete;
public:
using Transport = {{ .Transport.Type }};
static constexpr ::fidl::internal::Openness kOpenness = {{ .OpennessValue }};
{{- if .DiscoverableName }}
static constexpr char kDiscoverableName[] = {{ .DiscoverableName }};
{{- end }}
{{ range .Methods }}
{{- .Docs }}
class {{ .Marker.Self }} final {
{{ .Marker.Self }}() = delete;
public:
using Protocol = {{ $protocol }};
static constexpr bool kHasClientToServer = {{ .HasRequest }};
static constexpr bool kHasClientToServerBody = {{ .HasRequestPayload }};
static constexpr bool kHasServerToClient = {{ .HasResponse }};
static constexpr bool kHasServerToClientBody = {{ .HasResponsePayload }};
static constexpr bool kHasNonEmptyUserFacingResponse = {{ .HasNonEmptyPayload }};
static constexpr bool kHasDomainError = {{ .HasDomainError }};
static constexpr bool kHasFrameworkError = {{ .HasFrameworkError }};
static constexpr uint64_t kOrdinal = {{ .Ordinal }};
};
{{- end }}
};
{{- end }}
{{ EnsureNamespace "fidl" }}
{{ range .Protocols }}
template <>
struct IsProtocol<{{ . }}> : public std::true_type {};
{{ end }}
{{ EndOfFile }}
{{ end }}