blob: 784a22e3d5810b72cbd1762257517886259d1d5c [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 ::fidl::internal::TypeTraits<
::test_inheritancewithrecursivedecl::ParentFirstRequest>
final {
public:
static constexpr const fidl_type_t* kCodingTable =
&test_inheritancewithrecursivedecl_ParentFirstRequestTable;
};
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 ::fidl::internal::TypeTraits<
::test_inheritancewithrecursivedecl::ChildSecondRequest>
final {
public:
static constexpr const fidl_type_t* kCodingTable =
&test_inheritancewithrecursivedecl_ChildSecondRequestTable;
};
template <>
struct internal::NaturalCodingTraits<
::test_inheritancewithrecursivedecl::ChildSecondRequest,
::fidl::internal::NaturalCodingConstraintEmpty>
final : public ::fidl::internal::NaturalStructCodingTraits<
::test_inheritancewithrecursivedecl::ChildSecondRequest, 4> {};
#endif // __Fuchsia__
} // namespace fidl