blob: 84440d29db1d8979ee8ecd33ca620ddcff1b4046 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#include <fidl_llcpp_basictypes.h>
#include <memory>
namespace fidl {
namespace test {
namespace llcpp {
namespace basictypes {
void ::fidl::test::llcpp::basictypes::SimpleUnion::SizeAndOffsetAssertionHelper() {
static_assert(offsetof(::fidl::test::llcpp::basictypes::SimpleUnion, field_a_) == 4);
static_assert(offsetof(::fidl::test::llcpp::basictypes::SimpleUnion, field_b_) == 4);
static_assert(sizeof(::fidl::test::llcpp::basictypes::SimpleUnion) == ::fidl::test::llcpp::basictypes::SimpleUnion::PrimarySize);
}
namespace {
[[maybe_unused]]
constexpr uint32_t kTestInterface_ConsumeSimpleStruct_Ordinal = 728053387u;
extern "C" const fidl_type_t fidl_test_llcpp_basictypes_TestInterfaceConsumeSimpleStructRequestTable;
[[maybe_unused]]
constexpr uint32_t kTestInterface_ConsumeSimpleUnion_Ordinal = 776403313u;
} // namespace
zx_status_t TestInterface::SyncClient::ConsumeSimpleStruct(SimpleStruct arg, int32_t* out_status, int32_t* out_field) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeSimpleStructRequest>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize] = {};
auto& _request = *reinterpret_cast<ConsumeSimpleStructRequest*>(_write_bytes);
_request._hdr.ordinal = kTestInterface_ConsumeSimpleStruct_Ordinal;
_request.arg = std::move(arg);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(ConsumeSimpleStructRequest));
::fidl::DecodedMessage<ConsumeSimpleStructRequest> _decoded_request(std::move(_request_bytes));
auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
constexpr uint32_t _kReadAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeSimpleStructResponse>();
FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize];
::fidl::BytePart _response_bytes(_read_bytes, _kReadAllocSize);
auto _call_result = ::fidl::Call<ConsumeSimpleStructRequest, ConsumeSimpleStructResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(_response_bytes));
if (_call_result.status != ZX_OK) {
return _call_result.status;
}
auto _decode_result = ::fidl::Decode(std::move(_call_result.message));
if (_decode_result.status != ZX_OK) {
return _decode_result.status;
}
auto& _response = *_decode_result.message.message();
*out_status = std::move(_response.status);
*out_field = std::move(_response.field);
return ZX_OK;
}
zx_status_t TestInterface::SyncClient::ConsumeSimpleStruct(::fidl::BytePart _request_buffer, SimpleStruct arg, ::fidl::BytePart _response_buffer, int32_t* out_status, int32_t* out_field) {
auto& _request = *reinterpret_cast<ConsumeSimpleStructRequest*>(_request_buffer.data());
_request._hdr.ordinal = kTestInterface_ConsumeSimpleStruct_Ordinal;
_request.arg = std::move(arg);
_request_buffer.set_actual(sizeof(ConsumeSimpleStructRequest));
::fidl::DecodedMessage<ConsumeSimpleStructRequest> _decoded_request(std::move(_request_buffer));
auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
auto _call_result = ::fidl::Call<ConsumeSimpleStructRequest, ConsumeSimpleStructResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(_response_buffer));
if (_call_result.status != ZX_OK) {
return _call_result.status;
}
auto _decode_result = ::fidl::Decode(std::move(_call_result.message));
if (_decode_result.status != ZX_OK) {
return _decode_result.status;
}
auto& _response = *_decode_result.message.message();
*out_status = std::move(_response.status);
*out_field = std::move(_response.field);
return ZX_OK;
}
::fidl::DecodeResult<TestInterface::ConsumeSimpleStructResponse> TestInterface::SyncClient::ConsumeSimpleStruct(::fidl::DecodedMessage<ConsumeSimpleStructRequest> params, ::fidl::BytePart response_buffer) {
params.message()->_hdr = {};
params.message()->_hdr.ordinal = kTestInterface_ConsumeSimpleStruct_Ordinal;
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<TestInterface::ConsumeSimpleStructResponse>(
_encode_request_result.status,
_encode_request_result.error,
::fidl::DecodedMessage<TestInterface::ConsumeSimpleStructResponse>());
}
auto _call_result = ::fidl::Call<ConsumeSimpleStructRequest, ConsumeSimpleStructResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<TestInterface::ConsumeSimpleStructResponse>(
_call_result.status,
_call_result.error,
::fidl::DecodedMessage<TestInterface::ConsumeSimpleStructResponse>());
}
return ::fidl::Decode(std::move(_call_result.message));
}
zx_status_t TestInterface::SyncClient::ConsumeSimpleUnion(SimpleUnion arg, uint32_t* out_index, int32_t* out_field) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeSimpleUnionRequest>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize] = {};
auto& _request = *reinterpret_cast<ConsumeSimpleUnionRequest*>(_write_bytes);
_request._hdr.ordinal = kTestInterface_ConsumeSimpleUnion_Ordinal;
_request.arg = std::move(arg);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(ConsumeSimpleUnionRequest));
::fidl::DecodedMessage<ConsumeSimpleUnionRequest> _decoded_request(std::move(_request_bytes));
auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
constexpr uint32_t _kReadAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeSimpleUnionResponse>();
FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize];
::fidl::BytePart _response_bytes(_read_bytes, _kReadAllocSize);
auto _call_result = ::fidl::Call<ConsumeSimpleUnionRequest, ConsumeSimpleUnionResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(_response_bytes));
if (_call_result.status != ZX_OK) {
return _call_result.status;
}
auto _decode_result = ::fidl::Decode(std::move(_call_result.message));
if (_decode_result.status != ZX_OK) {
return _decode_result.status;
}
auto& _response = *_decode_result.message.message();
*out_index = std::move(_response.index);
*out_field = std::move(_response.field);
return ZX_OK;
}
zx_status_t TestInterface::SyncClient::ConsumeSimpleUnion(::fidl::BytePart _request_buffer, SimpleUnion arg, ::fidl::BytePart _response_buffer, uint32_t* out_index, int32_t* out_field) {
auto& _request = *reinterpret_cast<ConsumeSimpleUnionRequest*>(_request_buffer.data());
_request._hdr.ordinal = kTestInterface_ConsumeSimpleUnion_Ordinal;
_request.arg = std::move(arg);
_request_buffer.set_actual(sizeof(ConsumeSimpleUnionRequest));
::fidl::DecodedMessage<ConsumeSimpleUnionRequest> _decoded_request(std::move(_request_buffer));
auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
auto _call_result = ::fidl::Call<ConsumeSimpleUnionRequest, ConsumeSimpleUnionResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(_response_buffer));
if (_call_result.status != ZX_OK) {
return _call_result.status;
}
auto _decode_result = ::fidl::Decode(std::move(_call_result.message));
if (_decode_result.status != ZX_OK) {
return _decode_result.status;
}
auto& _response = *_decode_result.message.message();
*out_index = std::move(_response.index);
*out_field = std::move(_response.field);
return ZX_OK;
}
::fidl::DecodeResult<TestInterface::ConsumeSimpleUnionResponse> TestInterface::SyncClient::ConsumeSimpleUnion(::fidl::DecodedMessage<ConsumeSimpleUnionRequest> params, ::fidl::BytePart response_buffer) {
params.message()->_hdr = {};
params.message()->_hdr.ordinal = kTestInterface_ConsumeSimpleUnion_Ordinal;
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<TestInterface::ConsumeSimpleUnionResponse>(
_encode_request_result.status,
_encode_request_result.error,
::fidl::DecodedMessage<TestInterface::ConsumeSimpleUnionResponse>());
}
auto _call_result = ::fidl::Call<ConsumeSimpleUnionRequest, ConsumeSimpleUnionResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<TestInterface::ConsumeSimpleUnionResponse>(
_call_result.status,
_call_result.error,
::fidl::DecodedMessage<TestInterface::ConsumeSimpleUnionResponse>());
}
return ::fidl::Decode(std::move(_call_result.message));
}
} // namespace basictypes
} // namespace llcpp
} // namespace test
} // namespace fidl