blob: a7433e15876292bd3ed42c79ee392cdcc55ddad3 [file] [log] [blame]
{{/*
// Copyright 2018 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:WireTestBase" -}}
fidl/{{ .LibraryDots }}/cpp/wire_test_base.h
{{- end }}
{{- define "File:WireTestBase" -}}
{{- UseWire -}}
{{- SetTransport "Channel" -}}
// WARNING: This file is machine generated by fidlgen.
{{ range $experiment := .Experiments }}
// fidl_experiment = {{ $experiment }}
{{- end }}
#pragma once
#include <{{ .Library | Filename "WireHeader" }}>
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshadow"
{{ range (call .ProtocolsForTransport "Channel") }}
{{ EnsureNamespace "fidl::testing" }}
template<>
class {{ .TestBase.Name }} : public {{ .WireServer }} {
public:
virtual ~{{ .TestBase.Name }}() = default;
virtual void NotImplemented_(const std::string& name, ::fidl::CompleterBase& completer) = 0;
{{- range .Methods }}
{{- if .HasRequest }}
virtual void {{ .Name }}(
{{- if .HasRequestPayload }}
{{ .RequestPayload }}* request,
{{- end }}
{{ .WireCompleterArg }}& completer) override {
NotImplemented_("{{ .Name }}", completer); }
{{- end }}
{{- end }}
{{- if .HandlesOneWayUnknownInteractions }}
virtual void handle_unknown_method({{ .UnknownMethodMetadata }} metadata, UnknownMethodCompleter::Sync& completer) override {
NotImplemented_("handle_unknown_method", completer);
}
{{- end }}
};
template<>
class {{ .WireSyncEventHandlerTestBase.Name }} : public {{ .WireSyncEventHandler }} {
public:
virtual ~{{ .WireSyncEventHandlerTestBase.Name }}() = default;
virtual void NotImplemented_(const std::string& name) = 0;
{{- range .Events }}
void {{ .Name }}({{ if .HasResponsePayload }}{{ .WireEvent }}* event{{ end }}) override {
NotImplemented_("{{ .Name }}");
}
{{- end }}
{{- if .HandlesOneWayUnknownInteractions }}
virtual void handle_unknown_event({{ .UnknownEventMetadata }} metadata) override {
NotImplemented_("handle_unknown_event");
}
{{- end }}
};
{{ end -}}
#pragma clang diagnostic pop
{{ UnsetTransport -}}
{{ EndOfFile }}
{{ end }}