blob: b9759a7070e1e3990d8a5165f773ceb08e41a426 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#pragma once
#include <fidl/test.inheritancewithrecursivedecl/cpp/common_types.h>
#include <fidl/test.inheritancewithrecursivedecl/cpp/markers.h>
#include <lib/fidl/cpp/natural_coding_traits.h>
#include <lib/fidl/cpp/natural_types.h>
#include <cinttypes>
#include <string>
#ifdef __Fuchsia__
#include <lib/zx/channel.h>
#endif // __Fuchsia__
namespace test_inheritancewithrecursivedecl {
class ParentFirstRequest;
class ChildSecondRequest;
#ifdef __Fuchsia__
extern "C" const fidl_type_t test_inheritancewithrecursivedecl_ParentFirstRequestTable;
class ParentFirstRequest {
private:
struct Storage_;
public:
ParentFirstRequest(Storage_ storage) noexcept : storage_(std::move(storage)) {}
ParentFirstRequest(::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent> request) noexcept
: storage_({.request = std::move(request)}) {}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
// Default constructs a |ParentFirstRequest| only if all of its members are default constructible.
ParentFirstRequest() = default;
#pragma clang diagnostic pop
ParentFirstRequest(ParentFirstRequest&&) noexcept = default;
ParentFirstRequest& operator=(ParentFirstRequest&&) noexcept = default;
const ::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent>&
request() const {
return storage_.request;
}
::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent>& request() {
return storage_.request;
}
ParentFirstRequest(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : ParentFirstRequest(Storage_{
.request = {},
}) {}
private:
struct Storage_ final {
::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent> request;
};
Storage_ storage_;
friend struct ::fidl::internal::NaturalStructCodingTraits<::test_inheritancewithrecursivedecl::ParentFirstRequest, 4>;
friend struct ::fidl::internal::MemberVisitor<::test_inheritancewithrecursivedecl::ParentFirstRequest>;
static constexpr auto kMembers = std::make_tuple(::fidl::internal::NaturalStructMember<Storage_, ::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent>, fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>>{
&Storage_::request, 0});
static constexpr auto kPadding = std::make_tuple();
};
#endif // __Fuchsia__
#ifdef __Fuchsia__
extern "C" const fidl_type_t test_inheritancewithrecursivedecl_ChildSecondRequestTable;
class ChildSecondRequest {
private:
struct Storage_;
public:
ChildSecondRequest(Storage_ storage) noexcept : storage_(std::move(storage)) {}
ChildSecondRequest(::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent> request) noexcept
: storage_({.request = std::move(request)}) {}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
// Default constructs a |ChildSecondRequest| only if all of its members are default constructible.
ChildSecondRequest() = default;
#pragma clang diagnostic pop
ChildSecondRequest(ChildSecondRequest&&) noexcept = default;
ChildSecondRequest& operator=(ChildSecondRequest&&) noexcept = default;
const ::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent>&
request() const {
return storage_.request;
}
::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent>& request() {
return storage_.request;
}
ChildSecondRequest(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) : ChildSecondRequest(Storage_{
.request = {},
}) {}
private:
struct Storage_ final {
::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent> request;
};
Storage_ storage_;
friend struct ::fidl::internal::NaturalStructCodingTraits<::test_inheritancewithrecursivedecl::ChildSecondRequest, 4>;
friend struct ::fidl::internal::MemberVisitor<::test_inheritancewithrecursivedecl::ChildSecondRequest>;
static constexpr auto kMembers = std::make_tuple(::fidl::internal::NaturalStructMember<Storage_, ::fidl::ServerEnd<::test_inheritancewithrecursivedecl::Parent>, fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>>{
&Storage_::request, 0});
static constexpr auto kPadding = std::make_tuple();
};
#endif // __Fuchsia__
} // namespace test_inheritancewithrecursivedecl
namespace fidl {
#ifdef __Fuchsia__
extern "C" const fidl_type_t test_inheritancewithrecursivedecl_ParentFirstRequestTable;
template <>
struct IsResource<::test_inheritancewithrecursivedecl::ParentFirstRequest> : public std::true_type {};
template <>
struct IsFidlType<::test_inheritancewithrecursivedecl::ParentFirstRequest> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_inheritancewithrecursivedecl::ParentFirstRequest, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalStructCodingTraits<::test_inheritancewithrecursivedecl::ParentFirstRequest, 4> {};
#endif // __Fuchsia__
#ifdef __Fuchsia__
extern "C" const fidl_type_t test_inheritancewithrecursivedecl_ChildSecondRequestTable;
template <>
struct IsResource<::test_inheritancewithrecursivedecl::ChildSecondRequest> : public std::true_type {};
template <>
struct IsFidlType<::test_inheritancewithrecursivedecl::ChildSecondRequest> : public std::true_type {};
template <>
struct internal::NaturalCodingTraits<::test_inheritancewithrecursivedecl::ChildSecondRequest, ::fidl::internal::NaturalCodingConstraintEmpty> final
: public ::fidl::internal::NaturalStructCodingTraits<::test_inheritancewithrecursivedecl::ChildSecondRequest, 4> {};
#endif // __Fuchsia__
} // namespace fidl