| // WARNING: This file is machine generated by fidlgen. |
| |
| #include <inheritance_with_recursive_decl.test.json.llcpp.h> |
| |
| #include <memory> |
| |
| namespace llcpp { |
| |
| namespace fidl { |
| namespace test { |
| namespace inheritancewithrecursivedecl { |
| |
| namespace { |
| |
| [[maybe_unused]] constexpr uint64_t kParent_First_Ordinal = |
| 3051519745671742363lu; |
| extern "C" const fidl_type_t |
| fidl_test_inheritancewithrecursivedecl_ParentFirstRequestTable; |
| extern "C" const fidl_type_t |
| fidl_test_inheritancewithrecursivedecl_ParentFirstResponseTable; |
| |
| } // namespace |
| Parent::ResultOf::First::First(zx_handle_t _client, ::zx::channel& request) { |
| FirstRequest::OwnedOutgoingMessage _request(zx_txid_t(0), request); |
| _request.GetOutgoingMessage().Write(_client); |
| status_ = _request.status(); |
| error_ = _request.error(); |
| } |
| |
| Parent::UnownedResultOf::First::First(zx_handle_t _client, |
| uint8_t* _request_bytes, |
| uint32_t _request_byte_capacity, |
| ::zx::channel& request) { |
| FirstRequest::UnownedOutgoingMessage _request( |
| _request_bytes, _request_byte_capacity, 0, request); |
| _request.GetOutgoingMessage().Write(_client); |
| status_ = _request.status(); |
| error_ = _request.error(); |
| } |
| |
| ::fidl::Result Parent::ClientImpl::First(::zx::channel request) { |
| if (auto _channel = ::fidl::internal::ClientBase::GetChannel()) { |
| auto _res = ResultOf::First(_channel->handle(), request); |
| return ::fidl::Result(_res.status(), _res.error()); |
| } |
| return ::fidl::Result(ZX_ERR_CANCELED, ::fidl::kErrorChannelUnbound); |
| } |
| |
| ::fidl::Result Parent::ClientImpl::First(::fidl::BytePart _request_buffer, |
| ::zx::channel request) { |
| if (auto _channel = ::fidl::internal::ClientBase::GetChannel()) { |
| auto _res = |
| UnownedResultOf::First(_channel->handle(), _request_buffer.data(), |
| _request_buffer.capacity(), request); |
| return ::fidl::Result(_res.status(), _res.error()); |
| } |
| return ::fidl::Result(ZX_ERR_CANCELED, ::fidl::kErrorChannelUnbound); |
| } |
| |
| std::optional<::fidl::UnbindInfo> Parent::ClientImpl::DispatchEvent( |
| fidl_incoming_msg_t* msg) { |
| fidl_message_header_t* hdr = |
| reinterpret_cast<fidl_message_header_t*>(msg->bytes); |
| switch (hdr->ordinal) { |
| default: |
| zx_handle_close_many(msg->handles, msg->num_handles); |
| return ::fidl::UnbindInfo{::fidl::UnbindInfo::kUnexpectedMessage, |
| ZX_ERR_NOT_SUPPORTED}; |
| } |
| return {}; |
| } |
| |
| namespace methods { |
| |
| void ParentDispatchFirst(void* interface, void* bytes, |
| ::fidl::Transaction* txn) { |
| auto message = reinterpret_cast<Parent::FirstRequest*>(bytes); |
| Parent::Interface::FirstCompleter::Sync completer(txn); |
| reinterpret_cast<Parent::Interface*>(interface)->First( |
| std::move(message->request), completer); |
| } |
| |
| } // namespace methods |
| |
| namespace entries { |
| |
| ::fidl::internal::MethodEntry Parent[] = { |
| {kParent_First_Ordinal, Parent::FirstRequest::Type, |
| methods::ParentDispatchFirst}, |
| }; |
| |
| } // namespace entries |
| |
| ::fidl::DispatchResult Parent::TryDispatch(Interface* impl, |
| fidl_incoming_msg_t* msg, |
| ::fidl::Transaction* txn) { |
| return ::fidl::internal::TryDispatch( |
| impl, msg, txn, entries::Parent, |
| entries::Parent + |
| sizeof(entries::Parent) / sizeof(::fidl::internal::MethodEntry)); |
| } |
| |
| ::fidl::DispatchResult Parent::Dispatch(Interface* impl, |
| fidl_incoming_msg_t* msg, |
| ::fidl::Transaction* txn) { |
| ::fidl::DispatchResult dispatch_result = TryDispatch(impl, msg, txn); |
| if (dispatch_result == ::fidl::DispatchResult::kNotFound) { |
| zx_handle_close_many(msg->handles, msg->num_handles); |
| txn->InternalError( |
| {::fidl::UnbindInfo::kUnexpectedMessage, ZX_ERR_NOT_SUPPORTED}); |
| } |
| return dispatch_result; |
| } |
| |
| void Parent::FirstRequest::_InitHeader(zx_txid_t _txid) { |
| fidl_init_txn_header(&_hdr, _txid, kParent_First_Ordinal); |
| } |
| |
| void Parent::FirstRequest::_CloseHandles() { request.reset(); } |
| |
| namespace { |
| |
| [[maybe_unused]] constexpr uint64_t kChild_First_Ordinal = |
| 3051519745671742363lu; |
| extern "C" const fidl_type_t |
| fidl_test_inheritancewithrecursivedecl_ChildFirstRequestTable; |
| extern "C" const fidl_type_t |
| fidl_test_inheritancewithrecursivedecl_ChildFirstResponseTable; |
| [[maybe_unused]] constexpr uint64_t kChild_Second_Ordinal = |
| 489667253787160198lu; |
| extern "C" const fidl_type_t |
| fidl_test_inheritancewithrecursivedecl_ChildSecondRequestTable; |
| extern "C" const fidl_type_t |
| fidl_test_inheritancewithrecursivedecl_ChildSecondResponseTable; |
| |
| } // namespace |
| Child::ResultOf::First::First(zx_handle_t _client, ::zx::channel& request) { |
| FirstRequest::OwnedOutgoingMessage _request(zx_txid_t(0), request); |
| _request.GetOutgoingMessage().Write(_client); |
| status_ = _request.status(); |
| error_ = _request.error(); |
| } |
| |
| Child::UnownedResultOf::First::First(zx_handle_t _client, |
| uint8_t* _request_bytes, |
| uint32_t _request_byte_capacity, |
| ::zx::channel& request) { |
| FirstRequest::UnownedOutgoingMessage _request( |
| _request_bytes, _request_byte_capacity, 0, request); |
| _request.GetOutgoingMessage().Write(_client); |
| status_ = _request.status(); |
| error_ = _request.error(); |
| } |
| |
| Child::ResultOf::Second::Second(zx_handle_t _client, ::zx::channel& request) { |
| SecondRequest::OwnedOutgoingMessage _request(zx_txid_t(0), request); |
| _request.GetOutgoingMessage().Write(_client); |
| status_ = _request.status(); |
| error_ = _request.error(); |
| } |
| |
| Child::UnownedResultOf::Second::Second(zx_handle_t _client, |
| uint8_t* _request_bytes, |
| uint32_t _request_byte_capacity, |
| ::zx::channel& request) { |
| SecondRequest::UnownedOutgoingMessage _request( |
| _request_bytes, _request_byte_capacity, 0, request); |
| _request.GetOutgoingMessage().Write(_client); |
| status_ = _request.status(); |
| error_ = _request.error(); |
| } |
| |
| ::fidl::Result Child::ClientImpl::First(::zx::channel request) { |
| if (auto _channel = ::fidl::internal::ClientBase::GetChannel()) { |
| auto _res = ResultOf::First(_channel->handle(), request); |
| return ::fidl::Result(_res.status(), _res.error()); |
| } |
| return ::fidl::Result(ZX_ERR_CANCELED, ::fidl::kErrorChannelUnbound); |
| } |
| |
| ::fidl::Result Child::ClientImpl::First(::fidl::BytePart _request_buffer, |
| ::zx::channel request) { |
| if (auto _channel = ::fidl::internal::ClientBase::GetChannel()) { |
| auto _res = |
| UnownedResultOf::First(_channel->handle(), _request_buffer.data(), |
| _request_buffer.capacity(), request); |
| return ::fidl::Result(_res.status(), _res.error()); |
| } |
| return ::fidl::Result(ZX_ERR_CANCELED, ::fidl::kErrorChannelUnbound); |
| } |
| |
| ::fidl::Result Child::ClientImpl::Second(::zx::channel request) { |
| if (auto _channel = ::fidl::internal::ClientBase::GetChannel()) { |
| auto _res = ResultOf::Second(_channel->handle(), request); |
| return ::fidl::Result(_res.status(), _res.error()); |
| } |
| return ::fidl::Result(ZX_ERR_CANCELED, ::fidl::kErrorChannelUnbound); |
| } |
| |
| ::fidl::Result Child::ClientImpl::Second(::fidl::BytePart _request_buffer, |
| ::zx::channel request) { |
| if (auto _channel = ::fidl::internal::ClientBase::GetChannel()) { |
| auto _res = |
| UnownedResultOf::Second(_channel->handle(), _request_buffer.data(), |
| _request_buffer.capacity(), request); |
| return ::fidl::Result(_res.status(), _res.error()); |
| } |
| return ::fidl::Result(ZX_ERR_CANCELED, ::fidl::kErrorChannelUnbound); |
| } |
| |
| std::optional<::fidl::UnbindInfo> Child::ClientImpl::DispatchEvent( |
| fidl_incoming_msg_t* msg) { |
| fidl_message_header_t* hdr = |
| reinterpret_cast<fidl_message_header_t*>(msg->bytes); |
| switch (hdr->ordinal) { |
| default: |
| zx_handle_close_many(msg->handles, msg->num_handles); |
| return ::fidl::UnbindInfo{::fidl::UnbindInfo::kUnexpectedMessage, |
| ZX_ERR_NOT_SUPPORTED}; |
| } |
| return {}; |
| } |
| |
| namespace methods { |
| |
| void ChildDispatchFirst(void* interface, void* bytes, |
| ::fidl::Transaction* txn) { |
| auto message = reinterpret_cast<Child::FirstRequest*>(bytes); |
| Child::Interface::FirstCompleter::Sync completer(txn); |
| reinterpret_cast<Child::Interface*>(interface)->First( |
| std::move(message->request), completer); |
| } |
| |
| void ChildDispatchSecond(void* interface, void* bytes, |
| ::fidl::Transaction* txn) { |
| auto message = reinterpret_cast<Child::SecondRequest*>(bytes); |
| Child::Interface::SecondCompleter::Sync completer(txn); |
| reinterpret_cast<Child::Interface*>(interface)->Second( |
| std::move(message->request), completer); |
| } |
| |
| } // namespace methods |
| |
| namespace entries { |
| |
| ::fidl::internal::MethodEntry Child[] = { |
| {kChild_First_Ordinal, Child::FirstRequest::Type, |
| methods::ChildDispatchFirst}, |
| {kChild_Second_Ordinal, Child::SecondRequest::Type, |
| methods::ChildDispatchSecond}, |
| }; |
| |
| } // namespace entries |
| |
| ::fidl::DispatchResult Child::TryDispatch(Interface* impl, |
| fidl_incoming_msg_t* msg, |
| ::fidl::Transaction* txn) { |
| return ::fidl::internal::TryDispatch( |
| impl, msg, txn, entries::Child, |
| entries::Child + |
| sizeof(entries::Child) / sizeof(::fidl::internal::MethodEntry)); |
| } |
| |
| ::fidl::DispatchResult Child::Dispatch(Interface* impl, |
| fidl_incoming_msg_t* msg, |
| ::fidl::Transaction* txn) { |
| ::fidl::DispatchResult dispatch_result = TryDispatch(impl, msg, txn); |
| if (dispatch_result == ::fidl::DispatchResult::kNotFound) { |
| zx_handle_close_many(msg->handles, msg->num_handles); |
| txn->InternalError( |
| {::fidl::UnbindInfo::kUnexpectedMessage, ZX_ERR_NOT_SUPPORTED}); |
| } |
| return dispatch_result; |
| } |
| |
| void Child::FirstRequest::_InitHeader(zx_txid_t _txid) { |
| fidl_init_txn_header(&_hdr, _txid, kChild_First_Ordinal); |
| } |
| |
| void Child::FirstRequest::_CloseHandles() { request.reset(); } |
| |
| void Child::SecondRequest::_InitHeader(zx_txid_t _txid) { |
| fidl_init_txn_header(&_hdr, _txid, kChild_Second_Ordinal); |
| } |
| |
| void Child::SecondRequest::_CloseHandles() { request.reset(); } |
| |
| } // namespace inheritancewithrecursivedecl |
| } // namespace test |
| } // namespace fidl |
| } // namespace llcpp |