blob: 85519aa36aa295343feee8e68f37fb396b3e9486 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#pragma once
#include "lib/fidl/cpp/internal/header.h"
namespace test {
namespace emptystruct {
//
// Domain objects declarations
//
class Empty;
class EmptyProtocolSendRequest;
class EmptyProtocolReceiveRequest;
class EmptyProtocolSendAndReceiveRequest;
class EmptyProtocolSendAndReceiveResponse;
#ifdef __Fuchsia__
class EmptyProtocol;
using EmptyProtocolHandle = ::fidl::InterfaceHandle<EmptyProtocol>;
#endif // __Fuchsia__
class Empty final {
public:
static const fidl_type_t* FidlType;
uint8_t __reserved = 0u;
static inline ::std::unique_ptr<Empty> New() { return ::std::make_unique<Empty>(); }
void Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info = cpp17::nullopt);
static void Decode(::fidl::Decoder* _decoder, Empty* value, size_t _offset);
zx_status_t Clone(Empty* result) const;
};
inline zx_status_t Clone(const ::test::emptystruct::Empty& _value,
::test::emptystruct::Empty* _result) {
return _value.Clone(_result);
}
using EmptyPtr = ::std::unique_ptr<Empty>;
class EmptyProtocolSendRequest final {
public:
static const fidl_type_t* FidlType;
::test::emptystruct::Empty e;
static inline ::std::unique_ptr<EmptyProtocolSendRequest> New() { return ::std::make_unique<EmptyProtocolSendRequest>(); }
void Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info = cpp17::nullopt);
static void Decode(::fidl::Decoder* _decoder, EmptyProtocolSendRequest* value, size_t _offset);
zx_status_t Clone(EmptyProtocolSendRequest* result) const;
};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolSendRequest& _value,
::test::emptystruct::EmptyProtocolSendRequest* _result) {
return _value.Clone(_result);
}
using EmptyProtocolSendRequestPtr = ::std::unique_ptr<EmptyProtocolSendRequest>;
class EmptyProtocolReceiveRequest final {
public:
static const fidl_type_t* FidlType;
::test::emptystruct::Empty e;
static inline ::std::unique_ptr<EmptyProtocolReceiveRequest> New() { return ::std::make_unique<EmptyProtocolReceiveRequest>(); }
void Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info = cpp17::nullopt);
static void Decode(::fidl::Decoder* _decoder, EmptyProtocolReceiveRequest* value, size_t _offset);
zx_status_t Clone(EmptyProtocolReceiveRequest* result) const;
};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolReceiveRequest& _value,
::test::emptystruct::EmptyProtocolReceiveRequest* _result) {
return _value.Clone(_result);
}
using EmptyProtocolReceiveRequestPtr = ::std::unique_ptr<EmptyProtocolReceiveRequest>;
class EmptyProtocolSendAndReceiveRequest final {
public:
static const fidl_type_t* FidlType;
::test::emptystruct::Empty e;
static inline ::std::unique_ptr<EmptyProtocolSendAndReceiveRequest> New() { return ::std::make_unique<EmptyProtocolSendAndReceiveRequest>(); }
void Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info = cpp17::nullopt);
static void Decode(::fidl::Decoder* _decoder, EmptyProtocolSendAndReceiveRequest* value, size_t _offset);
zx_status_t Clone(EmptyProtocolSendAndReceiveRequest* result) const;
};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolSendAndReceiveRequest& _value,
::test::emptystruct::EmptyProtocolSendAndReceiveRequest* _result) {
return _value.Clone(_result);
}
using EmptyProtocolSendAndReceiveRequestPtr = ::std::unique_ptr<EmptyProtocolSendAndReceiveRequest>;
class EmptyProtocolSendAndReceiveResponse final {
public:
static const fidl_type_t* FidlType;
::test::emptystruct::Empty e;
static inline ::std::unique_ptr<EmptyProtocolSendAndReceiveResponse> New() { return ::std::make_unique<EmptyProtocolSendAndReceiveResponse>(); }
void Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info = cpp17::nullopt);
static void Decode(::fidl::Decoder* _decoder, EmptyProtocolSendAndReceiveResponse* value, size_t _offset);
zx_status_t Clone(EmptyProtocolSendAndReceiveResponse* result) const;
};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolSendAndReceiveResponse& _value,
::test::emptystruct::EmptyProtocolSendAndReceiveResponse* _result) {
return _value.Clone(_result);
}
using EmptyProtocolSendAndReceiveResponsePtr = ::std::unique_ptr<EmptyProtocolSendAndReceiveResponse>;
#ifdef __Fuchsia__
namespace _internal {
__LOCAL extern "C" const fidl_type_t test_emptystruct_EmptyProtocolSendRequestTable;
__LOCAL extern "C" const fidl_type_t test_emptystruct_EmptyProtocolSendAndReceiveRequestTable;
} // namespace _internal
class EmptyProtocol_RequestEncoder {
public:
static ::fidl::HLCPPOutgoingMessage Send(::fidl::MessageEncoder* _encoder, ::test::emptystruct::Empty* e) {
_encoder->Alloc(1);
::fidl::Encode(_encoder, e, 0 + sizeof(fidl_message_header_t));
return _encoder->GetMessage();
}
static ::fidl::HLCPPOutgoingMessage SendAndReceive(::fidl::MessageEncoder* _encoder, ::test::emptystruct::Empty* e) {
_encoder->Alloc(1);
::fidl::Encode(_encoder, e, 0 + sizeof(fidl_message_header_t));
return _encoder->GetMessage();
}
};
namespace _internal {
__LOCAL extern "C" const fidl_type_t test_emptystruct_EmptyProtocolReceiveRequestTable;
__LOCAL extern "C" const fidl_type_t test_emptystruct_EmptyProtocolSendAndReceiveResponseTable;
} // namespace _internal
class EmptyProtocol_ResponseEncoder {
public:
static ::fidl::HLCPPOutgoingMessage Receive(::fidl::MessageEncoder* _encoder, ::test::emptystruct::Empty* e) {
_encoder->Alloc(1);
::fidl::Encode(_encoder, e, 0 + sizeof(fidl_message_header_t));
return _encoder->GetMessage();
}
static ::fidl::HLCPPOutgoingMessage SendAndReceive(::fidl::MessageEncoder* _encoder, ::test::emptystruct::Empty* e) {
_encoder->Alloc(1);
::fidl::Encode(_encoder, e, 0 + sizeof(fidl_message_header_t));
return _encoder->GetMessage();
}
};
#endif // __Fuchsia__
} // namespace emptystruct
} // namespace test
namespace fidl {
template <>
struct CodingTraits<::test::emptystruct::Empty>
: public EncodableCodingTraits<::test::emptystruct::Empty, 1> {};
template <>
struct IsMemcpyCompatible<::test::emptystruct::Empty> : public internal::BoolConstant<
!HasPadding<::test::emptystruct::Empty>::value && IsMemcpyCompatible<uint8_t>::value> {};
inline zx_status_t Clone(const ::test::emptystruct::Empty& value,
::test::emptystruct::Empty* result) {
return ::test::emptystruct::Clone(value, result);
}
template <>
struct Equality<::test::emptystruct::Empty> {
bool operator()(const ::test::emptystruct::Empty& _lhs, const ::test::emptystruct::Empty& _rhs) const {
if (!::fidl::Equals(_lhs.__reserved, _rhs.__reserved)) {
return false;
}
return true;
}
};
template <>
struct CodingTraits<::test::emptystruct::EmptyProtocolSendRequest>
: public EncodableCodingTraits<::test::emptystruct::EmptyProtocolSendRequest, 1> {};
template <>
struct IsMemcpyCompatible<::test::emptystruct::EmptyProtocolSendRequest> : public internal::BoolConstant<
!HasPadding<::test::emptystruct::EmptyProtocolSendRequest>::value && IsMemcpyCompatible<::test::emptystruct::Empty>::value> {};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolSendRequest& value,
::test::emptystruct::EmptyProtocolSendRequest* result) {
return ::test::emptystruct::Clone(value, result);
}
template <>
struct Equality<::test::emptystruct::EmptyProtocolSendRequest> {
bool operator()(const ::test::emptystruct::EmptyProtocolSendRequest& _lhs, const ::test::emptystruct::EmptyProtocolSendRequest& _rhs) const {
if (!::fidl::Equals(_lhs.e, _rhs.e)) {
return false;
}
return true;
}
};
template <>
struct CodingTraits<::test::emptystruct::EmptyProtocolReceiveRequest>
: public EncodableCodingTraits<::test::emptystruct::EmptyProtocolReceiveRequest, 1> {};
template <>
struct IsMemcpyCompatible<::test::emptystruct::EmptyProtocolReceiveRequest> : public internal::BoolConstant<
!HasPadding<::test::emptystruct::EmptyProtocolReceiveRequest>::value && IsMemcpyCompatible<::test::emptystruct::Empty>::value> {};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolReceiveRequest& value,
::test::emptystruct::EmptyProtocolReceiveRequest* result) {
return ::test::emptystruct::Clone(value, result);
}
template <>
struct Equality<::test::emptystruct::EmptyProtocolReceiveRequest> {
bool operator()(const ::test::emptystruct::EmptyProtocolReceiveRequest& _lhs, const ::test::emptystruct::EmptyProtocolReceiveRequest& _rhs) const {
if (!::fidl::Equals(_lhs.e, _rhs.e)) {
return false;
}
return true;
}
};
template <>
struct CodingTraits<::test::emptystruct::EmptyProtocolSendAndReceiveRequest>
: public EncodableCodingTraits<::test::emptystruct::EmptyProtocolSendAndReceiveRequest, 1> {};
template <>
struct IsMemcpyCompatible<::test::emptystruct::EmptyProtocolSendAndReceiveRequest> : public internal::BoolConstant<
!HasPadding<::test::emptystruct::EmptyProtocolSendAndReceiveRequest>::value && IsMemcpyCompatible<::test::emptystruct::Empty>::value> {};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolSendAndReceiveRequest& value,
::test::emptystruct::EmptyProtocolSendAndReceiveRequest* result) {
return ::test::emptystruct::Clone(value, result);
}
template <>
struct Equality<::test::emptystruct::EmptyProtocolSendAndReceiveRequest> {
bool operator()(const ::test::emptystruct::EmptyProtocolSendAndReceiveRequest& _lhs, const ::test::emptystruct::EmptyProtocolSendAndReceiveRequest& _rhs) const {
if (!::fidl::Equals(_lhs.e, _rhs.e)) {
return false;
}
return true;
}
};
template <>
struct CodingTraits<::test::emptystruct::EmptyProtocolSendAndReceiveResponse>
: public EncodableCodingTraits<::test::emptystruct::EmptyProtocolSendAndReceiveResponse, 1> {};
template <>
struct IsMemcpyCompatible<::test::emptystruct::EmptyProtocolSendAndReceiveResponse> : public internal::BoolConstant<
!HasPadding<::test::emptystruct::EmptyProtocolSendAndReceiveResponse>::value && IsMemcpyCompatible<::test::emptystruct::Empty>::value> {};
inline zx_status_t Clone(const ::test::emptystruct::EmptyProtocolSendAndReceiveResponse& value,
::test::emptystruct::EmptyProtocolSendAndReceiveResponse* result) {
return ::test::emptystruct::Clone(value, result);
}
template <>
struct Equality<::test::emptystruct::EmptyProtocolSendAndReceiveResponse> {
bool operator()(const ::test::emptystruct::EmptyProtocolSendAndReceiveResponse& _lhs, const ::test::emptystruct::EmptyProtocolSendAndReceiveResponse& _rhs) const {
if (!::fidl::Equals(_lhs.e, _rhs.e)) {
return false;
}
return true;
}
};
//
// Proxies and stubs declarations
//
} // namespace fidl
namespace test {
namespace emptystruct {
#ifdef __Fuchsia__
using EmptyProtocolPtr = ::fidl::InterfacePtr<EmptyProtocol>;
class EmptyProtocol_Proxy;
class EmptyProtocol_Stub;
class EmptyProtocol_EventSender;
class EmptyProtocol_Sync;
using EmptyProtocolSyncPtr = ::fidl::SynchronousInterfacePtr<EmptyProtocol>;
class EmptyProtocol_SyncProxy;
namespace internal {
constexpr uint64_t kEmptyProtocol_Send_Ordinal = 0x132262fd8b200708lu;
constexpr ::fidl::MessageDynamicFlags kEmptyProtocol_Send_DynamicFlags = ::fidl::MessageDynamicFlags::kStrictMethod;
constexpr uint64_t kEmptyProtocol_Receive_Ordinal = 0x1ff0ccf9b710e23flu;
constexpr ::fidl::MessageDynamicFlags kEmptyProtocol_Receive_DynamicFlags = ::fidl::MessageDynamicFlags::kStrictMethod;
constexpr uint64_t kEmptyProtocol_SendAndReceive_Ordinal = 0x76a931254962cealu;
constexpr ::fidl::MessageDynamicFlags kEmptyProtocol_SendAndReceive_DynamicFlags = ::fidl::MessageDynamicFlags::kStrictMethod;
} // namespace internal
#endif // __Fuchsia__
#ifdef __Fuchsia__
class EmptyProtocol {
public:
using Proxy_ = ::test::emptystruct::EmptyProtocol_Proxy;
using Stub_ = ::test::emptystruct::EmptyProtocol_Stub;
using EventSender_ = ::test::emptystruct::EmptyProtocol_EventSender;
using Sync_ = ::test::emptystruct::EmptyProtocol_Sync;
virtual ~EmptyProtocol();
virtual void Send(::test::emptystruct::Empty e) = 0;
using ReceiveCallback =
fit::function<void(::test::emptystruct::Empty)>;
using SendAndReceiveCallback =
fit::function<void(::test::emptystruct::Empty)>;
virtual void SendAndReceive(::test::emptystruct::Empty e, SendAndReceiveCallback callback) = 0;
};
class EmptyProtocol_RequestDecoder {
public:
EmptyProtocol_RequestDecoder() = default;
virtual ~EmptyProtocol_RequestDecoder() = default;
static const fidl_type_t* GetType(uint64_t ordinal, bool* out_needs_response, bool* is_known);
virtual void Send(::test::emptystruct::Empty e) = 0;
virtual void SendAndReceive(::test::emptystruct::Empty e) = 0;
};
class EmptyProtocol_ResponseDecoder {
public:
EmptyProtocol_ResponseDecoder() = default;
virtual ~EmptyProtocol_ResponseDecoder() = default;
static const fidl_type_t* GetType(uint64_t ordinal);
virtual void Receive(::test::emptystruct::Empty e) = 0;
virtual void SendAndReceive(::test::emptystruct::Empty e) = 0;
};
class EmptyProtocol_EventSender {
public:
virtual ~EmptyProtocol_EventSender();
virtual void Receive(::test::emptystruct::Empty e) = 0;
};
class EmptyProtocol_Sync {
public:
using Proxy_ = ::test::emptystruct::EmptyProtocol_SyncProxy;
virtual ~EmptyProtocol_Sync();
virtual zx_status_t Send(::test::emptystruct::Empty e) = 0;
virtual zx_status_t SendAndReceive(::test::emptystruct::Empty e, ::test::emptystruct::Empty* out_e) = 0;
};
class EmptyProtocol_Proxy final : public ::fidl::internal::Proxy, public EmptyProtocol {
public:
explicit EmptyProtocol_Proxy(::fidl::internal::ProxyController* controller);
~EmptyProtocol_Proxy() override;
zx_status_t Dispatch_(::fidl::HLCPPIncomingMessage message) override;
// cts-coverage-fidl-name:test.emptystruct/EmptyProtocol.Send
void Send(::test::emptystruct::Empty e) override;
ReceiveCallback Receive;
// cts-coverage-fidl-name:test.emptystruct/EmptyProtocol.SendAndReceive
void SendAndReceive(::test::emptystruct::Empty e, SendAndReceiveCallback callback) override;
private:
EmptyProtocol_Proxy(const ::test::emptystruct::EmptyProtocol_Proxy&) = delete;
EmptyProtocol_Proxy& operator=(const ::test::emptystruct::EmptyProtocol_Proxy&) = delete;
::fidl::internal::ProxyController* controller_;
};
class EmptyProtocol_Stub final : public ::fidl::internal::Stub, public ::test::emptystruct::EmptyProtocol_EventSender {
public:
typedef class ::test::emptystruct::EmptyProtocol EmptyProtocol_clazz;
explicit EmptyProtocol_Stub(::test::emptystruct::EmptyProtocol_Stub::EmptyProtocol_clazz* impl);
~EmptyProtocol_Stub() override;
zx_status_t Dispatch_(::fidl::HLCPPIncomingMessage message,
::fidl::internal::PendingResponse response) override;
void Receive(::test::emptystruct::Empty e) override;
private:
::test::emptystruct::EmptyProtocol_Stub::EmptyProtocol_clazz* impl_;
};
class EmptyProtocol_SyncProxy : public ::test::emptystruct::EmptyProtocol_Sync {
public:
explicit EmptyProtocol_SyncProxy(::zx::channel channel);
~EmptyProtocol_SyncProxy() override;
// cts-coverage-fidl-name:test.emptystruct/EmptyProtocol.Send
zx_status_t Send(::test::emptystruct::Empty e) override;
// cts-coverage-fidl-name:test.emptystruct/EmptyProtocol.SendAndReceive
zx_status_t SendAndReceive(::test::emptystruct::Empty e, ::test::emptystruct::Empty* out_e) override;
private:
::fidl::internal::SynchronousProxy proxy_;
friend class ::fidl::SynchronousInterfacePtr<EmptyProtocol>;
};
#endif // __Fuchsia__
} // namespace emptystruct
} // namespace test