| // 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 |