blob: 81367d1bd4a564dcb20a88bec074c168f07fbcb6 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#include <fidl_llcpp_basic.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 {
constexpr uint32_t kTestInterface_ConsumeSimpleStruct_Ordinal = 728053387u;
extern "C" const fidl_type_t fidl_test_llcpp_basictypes_TestInterfaceConsumeSimpleStructRequestTable;
extern "C" const fidl_type_t fidl_test_llcpp_basictypes_TestInterfaceConsumeSimpleStructResponseTable;
constexpr uint32_t kTestInterface_ConsumeSimpleUnion_Ordinal = 776403313u;
extern "C" const fidl_type_t fidl_test_llcpp_basictypes_TestInterfaceConsumeSimpleUnionRequestTable;
extern "C" const fidl_type_t fidl_test_llcpp_basictypes_TestInterfaceConsumeSimpleUnionResponseTable;
} // namespace
zx_status_t TestInterface::SyncClient::ConsumeSimpleStruct(SimpleStruct& arg, int32_t* out_status, int32_t* out_field) {
constexpr uint32_t _write_alloc_size = FIDL_ALIGN(104) + FIDL_ALIGN(0);
FIDL_ALIGNDECL uint8_t _write_bytes[_write_alloc_size] = {};
auto& _request = *reinterpret_cast<ConsumeSimpleStructRequest*>(_write_bytes);
_request._hdr.ordinal = kTestInterface_ConsumeSimpleStruct_Ordinal;
_request.arg = std::move(arg);
constexpr uint32_t _write_num_bytes = sizeof(ConsumeSimpleStructRequest);
::fidl::BytePart _request_bytes(_write_bytes, _write_alloc_size, _write_num_bytes);
::fidl::DecodedMessage<ConsumeSimpleStructRequest> _decoded_message(std::move(_request_bytes));
auto _encode_result = ::fidl::Encode(std::move(_decoded_message));
if (_encode_result.status != ZX_OK) {
return _encode_result.status;
}
constexpr uint32_t _read_alloc_size = FIDL_ALIGN(24) + FIDL_ALIGN(0);
FIDL_ALIGNDECL uint8_t _read_bytes[_read_alloc_size];
::fidl::BytePart _response_bytes(_read_bytes, _read_alloc_size);
auto _call_result = ::fidl::Call(this->channel_, std::move(_encode_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, ::fidl::BytePart _response_buffer, SimpleStruct& arg, 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);
constexpr uint32_t _write_num_bytes = sizeof(ConsumeSimpleStructRequest);
_request_buffer.set_actual(_write_num_bytes);
::fidl::DecodedMessage<ConsumeSimpleStructRequest> _decoded_message(std::move(_request_buffer));
auto _encode_result = ::fidl::Encode(std::move(_decoded_message));
if (_encode_result.status != ZX_OK) {
return _encode_result.status;
}
auto _call_result = ::fidl::Call(this->channel_, std::move(_encode_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) {
::fidl::DecodeResult<TestInterface::ConsumeSimpleStructResponse> _result;
params.message()->_hdr.ordinal = kTestInterface_ConsumeSimpleStruct_Ordinal;
auto _encode_result = ::fidl::Encode(std::move(params));
if (_encode_result.status != ZX_OK) {
_result.status = _encode_result.status;
_result.error = _encode_result.error;
_result.message = ::fidl::DecodedMessage<TestInterface::ConsumeSimpleStructResponse>();
return _result;
}
auto _call_result = ::fidl::Call(this->channel_, std::move(_encode_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
_result.status = _call_result.status;
_result.error = _call_result.error;
_result.message = ::fidl::DecodedMessage<TestInterface::ConsumeSimpleStructResponse>();
return _result;
}
_result = ::fidl::Decode(std::move(_call_result.message));
return _result;
}
zx_status_t TestInterface::SyncClient::ConsumeSimpleUnion(SimpleUnion& arg, uint32_t* out_index, int32_t* out_field) {
constexpr uint32_t _write_alloc_size = FIDL_ALIGN(24) + FIDL_ALIGN(0);
FIDL_ALIGNDECL uint8_t _write_bytes[_write_alloc_size] = {};
auto& _request = *reinterpret_cast<ConsumeSimpleUnionRequest*>(_write_bytes);
_request._hdr.ordinal = kTestInterface_ConsumeSimpleUnion_Ordinal;
_request.arg = std::move(arg);
constexpr uint32_t _write_num_bytes = sizeof(ConsumeSimpleUnionRequest);
::fidl::BytePart _request_bytes(_write_bytes, _write_alloc_size, _write_num_bytes);
::fidl::DecodedMessage<ConsumeSimpleUnionRequest> _decoded_message(std::move(_request_bytes));
auto _encode_result = ::fidl::Encode(std::move(_decoded_message));
if (_encode_result.status != ZX_OK) {
return _encode_result.status;
}
constexpr uint32_t _read_alloc_size = FIDL_ALIGN(24) + FIDL_ALIGN(0);
FIDL_ALIGNDECL uint8_t _read_bytes[_read_alloc_size];
::fidl::BytePart _response_bytes(_read_bytes, _read_alloc_size);
auto _call_result = ::fidl::Call(this->channel_, std::move(_encode_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, ::fidl::BytePart _response_buffer, SimpleUnion& arg, 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);
constexpr uint32_t _write_num_bytes = sizeof(ConsumeSimpleUnionRequest);
_request_buffer.set_actual(_write_num_bytes);
::fidl::DecodedMessage<ConsumeSimpleUnionRequest> _decoded_message(std::move(_request_buffer));
auto _encode_result = ::fidl::Encode(std::move(_decoded_message));
if (_encode_result.status != ZX_OK) {
return _encode_result.status;
}
auto _call_result = ::fidl::Call(this->channel_, std::move(_encode_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) {
::fidl::DecodeResult<TestInterface::ConsumeSimpleUnionResponse> _result;
params.message()->_hdr.ordinal = kTestInterface_ConsumeSimpleUnion_Ordinal;
auto _encode_result = ::fidl::Encode(std::move(params));
if (_encode_result.status != ZX_OK) {
_result.status = _encode_result.status;
_result.error = _encode_result.error;
_result.message = ::fidl::DecodedMessage<TestInterface::ConsumeSimpleUnionResponse>();
return _result;
}
auto _call_result = ::fidl::Call(this->channel_, std::move(_encode_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
_result.status = _call_result.status;
_result.error = _call_result.error;
_result.message = ::fidl::DecodedMessage<TestInterface::ConsumeSimpleUnionResponse>();
return _result;
}
_result = ::fidl::Decode(std::move(_call_result.message));
return _result;
}
} // namespace basictypes
} // namespace llcpp
} // namespace test
} // namespace fidl