blob: d33e449c0113f560767e85a3c6b38eae78f4adbe [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#include <fuchsia/hardware/serial/llcpp/fidl.h>
#include <memory>
namespace llcpp {
namespace fuchsia {
namespace hardware {
namespace serial {
namespace {
[[maybe_unused]]
constexpr uint64_t kNewDeviceProxy_GetChannel_Ordinal = 0x2a01059e00000000lu;
[[maybe_unused]]
constexpr uint64_t kNewDeviceProxy_GetChannel_GenOrdinal = 0x612d461fef5c62e5lu;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceProxyGetChannelRequestTable;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceProxyGetChannelResponseTable;
} // namespace
NewDeviceProxy::ResultOf::GetChannel_Impl::GetChannel_Impl(::zx::unowned_channel _client_end, ::zx::channel req) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<GetChannelRequest, ::fidl::MessageDirection::kSending>();
::fidl::internal::AlignedBuffer<_kWriteAllocSize> _write_bytes_inlined;
auto& _write_bytes_array = _write_bytes_inlined;
uint8_t* _write_bytes = _write_bytes_array.view().data();
memset(_write_bytes, 0, GetChannelRequest::PrimarySize);
auto& _request = *reinterpret_cast<GetChannelRequest*>(_write_bytes);
_request.req = std::move(req);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(GetChannelRequest));
::fidl::DecodedMessage<GetChannelRequest> _decoded_request(std::move(_request_bytes));
Super::operator=(
NewDeviceProxy::InPlace::GetChannel(std::move(_client_end), std::move(_decoded_request)));
}
NewDeviceProxy::ResultOf::GetChannel NewDeviceProxy::SyncClient::GetChannel(::zx::channel req) {
return ResultOf::GetChannel(::zx::unowned_channel(this->channel_), std::move(req));
}
NewDeviceProxy::ResultOf::GetChannel NewDeviceProxy::Call::GetChannel(::zx::unowned_channel _client_end, ::zx::channel req) {
return ResultOf::GetChannel(std::move(_client_end), std::move(req));
}
NewDeviceProxy::UnownedResultOf::GetChannel_Impl::GetChannel_Impl(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::zx::channel req) {
if (_request_buffer.capacity() < GetChannelRequest::PrimarySize) {
Super::status_ = ZX_ERR_BUFFER_TOO_SMALL;
Super::error_ = ::fidl::internal::kErrorRequestBufferTooSmall;
return;
}
memset(_request_buffer.data(), 0, GetChannelRequest::PrimarySize);
auto& _request = *reinterpret_cast<GetChannelRequest*>(_request_buffer.data());
_request.req = std::move(req);
_request_buffer.set_actual(sizeof(GetChannelRequest));
::fidl::DecodedMessage<GetChannelRequest> _decoded_request(std::move(_request_buffer));
Super::operator=(
NewDeviceProxy::InPlace::GetChannel(std::move(_client_end), std::move(_decoded_request)));
}
NewDeviceProxy::UnownedResultOf::GetChannel NewDeviceProxy::SyncClient::GetChannel(::fidl::BytePart _request_buffer, ::zx::channel req) {
return UnownedResultOf::GetChannel(::zx::unowned_channel(this->channel_), std::move(_request_buffer), std::move(req));
}
NewDeviceProxy::UnownedResultOf::GetChannel NewDeviceProxy::Call::GetChannel(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::zx::channel req) {
return UnownedResultOf::GetChannel(std::move(_client_end), std::move(_request_buffer), std::move(req));
}
::fidl::internal::StatusAndError NewDeviceProxy::InPlace::GetChannel(::zx::unowned_channel _client_end, ::fidl::DecodedMessage<GetChannelRequest> params) {
NewDeviceProxy::SetTransactionHeaderFor::GetChannelRequest(params);
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::internal::StatusAndError::FromFailure(
std::move(_encode_request_result));
}
zx_status_t _write_status =
::fidl::Write(std::move(_client_end), std::move(_encode_request_result.message));
if (_write_status != ZX_OK) {
return ::fidl::internal::StatusAndError(_write_status, ::fidl::internal::kErrorWriteFailed);
} else {
return ::fidl::internal::StatusAndError(ZX_OK, nullptr);
}
}
bool NewDeviceProxy::TryDispatch(Interface* impl, fidl_msg_t* msg, ::fidl::Transaction* txn) {
if (msg->num_bytes < sizeof(fidl_message_header_t)) {
zx_handle_close_many(msg->handles, msg->num_handles);
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
fidl_message_header_t* hdr = reinterpret_cast<fidl_message_header_t*>(msg->bytes);
zx_status_t status = fidl_validate_txn_header(hdr);
if (status != ZX_OK) {
txn->Close(status);
return true;
}
switch (hdr->ordinal) {
case kNewDeviceProxy_GetChannel_Ordinal:
case kNewDeviceProxy_GetChannel_GenOrdinal:
{
auto result = ::fidl::DecodeAs<GetChannelRequest>(msg);
if (result.status != ZX_OK) {
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
auto message = result.message.message();
impl->GetChannel(std::move(message->req),
Interface::GetChannelCompleter::Sync(txn));
return true;
}
default: {
return false;
}
}
}
bool NewDeviceProxy::Dispatch(Interface* impl, fidl_msg_t* msg, ::fidl::Transaction* txn) {
bool found = TryDispatch(impl, msg, txn);
if (!found) {
zx_handle_close_many(msg->handles, msg->num_handles);
txn->Close(ZX_ERR_NOT_SUPPORTED);
}
return found;
}
void NewDeviceProxy::SetTransactionHeaderFor::GetChannelRequest(const ::fidl::DecodedMessage<NewDeviceProxy::GetChannelRequest>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDeviceProxy_GetChannel_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void ::llcpp::fuchsia::hardware::serial::NewDevice_Write_Result::SizeAndOffsetAssertionHelper() {
static_assert(sizeof(NewDevice_Write_Result) == sizeof(fidl_xunion_t));
static_assert(offsetof(NewDevice_Write_Result, ordinal_) == offsetof(fidl_xunion_t, tag));
static_assert(offsetof(NewDevice_Write_Result, envelope_) == offsetof(fidl_xunion_t, envelope));
}
void ::llcpp::fuchsia::hardware::serial::NewDevice_Read_Result::SizeAndOffsetAssertionHelper() {
static_assert(sizeof(NewDevice_Read_Result) == sizeof(fidl_xunion_t));
static_assert(offsetof(NewDevice_Read_Result, ordinal_) == offsetof(fidl_xunion_t, tag));
static_assert(offsetof(NewDevice_Read_Result, envelope_) == offsetof(fidl_xunion_t, envelope));
}
namespace {
[[maybe_unused]]
constexpr uint64_t kDevice_GetClass_Ordinal = 0x6549990f00000000lu;
[[maybe_unused]]
constexpr uint64_t kDevice_GetClass_GenOrdinal = 0x3d48bbcee248ab8blu;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_DeviceGetClassRequestTable;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_DeviceGetClassResponseTable;
[[maybe_unused]]
constexpr uint64_t kDevice_SetConfig_Ordinal = 0x10bcc68c00000000lu;
[[maybe_unused]]
constexpr uint64_t kDevice_SetConfig_GenOrdinal = 0x771a0946f6f87173lu;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_DeviceSetConfigRequestTable;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_DeviceSetConfigResponseTable;
} // namespace
template <>
Device::ResultOf::GetClass_Impl<Device::GetClassResponse>::GetClass_Impl(::zx::unowned_channel _client_end) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<GetClassRequest, ::fidl::MessageDirection::kSending>();
::fidl::internal::AlignedBuffer<_kWriteAllocSize> _write_bytes_inlined;
auto& _write_bytes_array = _write_bytes_inlined;
uint8_t* _write_bytes = _write_bytes_array.view().data();
memset(_write_bytes, 0, GetClassRequest::PrimarySize);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(GetClassRequest));
::fidl::DecodedMessage<GetClassRequest> _decoded_request(std::move(_request_bytes));
Super::SetResult(
Device::InPlace::GetClass(std::move(_client_end), Super::response_buffer()));
}
Device::ResultOf::GetClass Device::SyncClient::GetClass() {
return ResultOf::GetClass(::zx::unowned_channel(this->channel_));
}
Device::ResultOf::GetClass Device::Call::GetClass(::zx::unowned_channel _client_end) {
return ResultOf::GetClass(std::move(_client_end));
}
template <>
Device::UnownedResultOf::GetClass_Impl<Device::GetClassResponse>::GetClass_Impl(::zx::unowned_channel _client_end, ::fidl::BytePart _response_buffer) {
FIDL_ALIGNDECL uint8_t _write_bytes[sizeof(GetClassRequest)] = {};
::fidl::BytePart _request_buffer(_write_bytes, sizeof(_write_bytes));
memset(_request_buffer.data(), 0, GetClassRequest::PrimarySize);
_request_buffer.set_actual(sizeof(GetClassRequest));
::fidl::DecodedMessage<GetClassRequest> _decoded_request(std::move(_request_buffer));
Super::SetResult(
Device::InPlace::GetClass(std::move(_client_end), std::move(_response_buffer)));
}
Device::UnownedResultOf::GetClass Device::SyncClient::GetClass(::fidl::BytePart _response_buffer) {
return UnownedResultOf::GetClass(::zx::unowned_channel(this->channel_), std::move(_response_buffer));
}
Device::UnownedResultOf::GetClass Device::Call::GetClass(::zx::unowned_channel _client_end, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::GetClass(std::move(_client_end), std::move(_response_buffer));
}
::fidl::DecodeResult<Device::GetClassResponse> Device::InPlace::GetClass(::zx::unowned_channel _client_end, ::fidl::BytePart response_buffer) {
constexpr uint32_t _write_num_bytes = sizeof(GetClassRequest);
::fidl::internal::AlignedBuffer<_write_num_bytes> _write_bytes;
::fidl::BytePart _request_buffer = _write_bytes.view();
_request_buffer.set_actual(_write_num_bytes);
::fidl::DecodedMessage<GetClassRequest> params(std::move(_request_buffer));
Device::SetTransactionHeaderFor::GetClassRequest(params);
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<Device::GetClassResponse>::FromFailure(
std::move(_encode_request_result));
}
auto _call_result = ::fidl::Call<GetClassRequest, GetClassResponse>(
std::move(_client_end), std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<Device::GetClassResponse>::FromFailure(
std::move(_call_result));
}
return ::fidl::Decode(std::move(_call_result.message));
}
template <>
Device::ResultOf::SetConfig_Impl<Device::SetConfigResponse>::SetConfig_Impl(::zx::unowned_channel _client_end, ::llcpp::fuchsia::hardware::serial::Config config) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<SetConfigRequest, ::fidl::MessageDirection::kSending>();
::fidl::internal::AlignedBuffer<_kWriteAllocSize> _write_bytes_inlined;
auto& _write_bytes_array = _write_bytes_inlined;
uint8_t* _write_bytes = _write_bytes_array.view().data();
memset(_write_bytes, 0, SetConfigRequest::PrimarySize);
auto& _request = *reinterpret_cast<SetConfigRequest*>(_write_bytes);
_request.config = std::move(config);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(SetConfigRequest));
::fidl::DecodedMessage<SetConfigRequest> _decoded_request(std::move(_request_bytes));
Super::SetResult(
Device::InPlace::SetConfig(std::move(_client_end), std::move(_decoded_request), Super::response_buffer()));
}
Device::ResultOf::SetConfig Device::SyncClient::SetConfig(::llcpp::fuchsia::hardware::serial::Config config) {
return ResultOf::SetConfig(::zx::unowned_channel(this->channel_), std::move(config));
}
Device::ResultOf::SetConfig Device::Call::SetConfig(::zx::unowned_channel _client_end, ::llcpp::fuchsia::hardware::serial::Config config) {
return ResultOf::SetConfig(std::move(_client_end), std::move(config));
}
template <>
Device::UnownedResultOf::SetConfig_Impl<Device::SetConfigResponse>::SetConfig_Impl(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::llcpp::fuchsia::hardware::serial::Config config, ::fidl::BytePart _response_buffer) {
if (_request_buffer.capacity() < SetConfigRequest::PrimarySize) {
Super::SetFailure(::fidl::DecodeResult<SetConfigResponse>(ZX_ERR_BUFFER_TOO_SMALL, ::fidl::internal::kErrorRequestBufferTooSmall));
return;
}
memset(_request_buffer.data(), 0, SetConfigRequest::PrimarySize);
auto& _request = *reinterpret_cast<SetConfigRequest*>(_request_buffer.data());
_request.config = std::move(config);
_request_buffer.set_actual(sizeof(SetConfigRequest));
::fidl::DecodedMessage<SetConfigRequest> _decoded_request(std::move(_request_buffer));
Super::SetResult(
Device::InPlace::SetConfig(std::move(_client_end), std::move(_decoded_request), std::move(_response_buffer)));
}
Device::UnownedResultOf::SetConfig Device::SyncClient::SetConfig(::fidl::BytePart _request_buffer, ::llcpp::fuchsia::hardware::serial::Config config, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::SetConfig(::zx::unowned_channel(this->channel_), std::move(_request_buffer), std::move(config), std::move(_response_buffer));
}
Device::UnownedResultOf::SetConfig Device::Call::SetConfig(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::llcpp::fuchsia::hardware::serial::Config config, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::SetConfig(std::move(_client_end), std::move(_request_buffer), std::move(config), std::move(_response_buffer));
}
::fidl::DecodeResult<Device::SetConfigResponse> Device::InPlace::SetConfig(::zx::unowned_channel _client_end, ::fidl::DecodedMessage<SetConfigRequest> params, ::fidl::BytePart response_buffer) {
Device::SetTransactionHeaderFor::SetConfigRequest(params);
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<Device::SetConfigResponse>::FromFailure(
std::move(_encode_request_result));
}
auto _call_result = ::fidl::Call<SetConfigRequest, SetConfigResponse>(
std::move(_client_end), std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<Device::SetConfigResponse>::FromFailure(
std::move(_call_result));
}
return ::fidl::Decode(std::move(_call_result.message));
}
bool Device::TryDispatch(Interface* impl, fidl_msg_t* msg, ::fidl::Transaction* txn) {
if (msg->num_bytes < sizeof(fidl_message_header_t)) {
zx_handle_close_many(msg->handles, msg->num_handles);
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
fidl_message_header_t* hdr = reinterpret_cast<fidl_message_header_t*>(msg->bytes);
zx_status_t status = fidl_validate_txn_header(hdr);
if (status != ZX_OK) {
txn->Close(status);
return true;
}
switch (hdr->ordinal) {
case kDevice_GetClass_Ordinal:
case kDevice_GetClass_GenOrdinal:
{
auto result = ::fidl::DecodeAs<GetClassRequest>(msg);
if (result.status != ZX_OK) {
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
impl->GetClass(
Interface::GetClassCompleter::Sync(txn));
return true;
}
case kDevice_SetConfig_Ordinal:
case kDevice_SetConfig_GenOrdinal:
{
auto result = ::fidl::DecodeAs<SetConfigRequest>(msg);
if (result.status != ZX_OK) {
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
auto message = result.message.message();
impl->SetConfig(std::move(message->config),
Interface::SetConfigCompleter::Sync(txn));
return true;
}
default: {
return false;
}
}
}
bool Device::Dispatch(Interface* impl, fidl_msg_t* msg, ::fidl::Transaction* txn) {
bool found = TryDispatch(impl, msg, txn);
if (!found) {
zx_handle_close_many(msg->handles, msg->num_handles);
txn->Close(ZX_ERR_NOT_SUPPORTED);
}
return found;
}
void Device::Interface::GetClassCompleterBase::Reply(::llcpp::fuchsia::hardware::serial::Class device_class) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<GetClassResponse, ::fidl::MessageDirection::kSending>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize] = {};
auto& _response = *reinterpret_cast<GetClassResponse*>(_write_bytes);
Device::SetTransactionHeaderFor::GetClassResponse(
::fidl::DecodedMessage<GetClassResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
GetClassResponse::PrimarySize,
GetClassResponse::PrimarySize)));
_response.device_class = std::move(device_class);
::fidl::BytePart _response_bytes(_write_bytes, _kWriteAllocSize, sizeof(GetClassResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<GetClassResponse>(std::move(_response_bytes)));
}
void Device::Interface::GetClassCompleterBase::Reply(::fidl::BytePart _buffer, ::llcpp::fuchsia::hardware::serial::Class device_class) {
if (_buffer.capacity() < GetClassResponse::PrimarySize) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
auto& _response = *reinterpret_cast<GetClassResponse*>(_buffer.data());
Device::SetTransactionHeaderFor::GetClassResponse(
::fidl::DecodedMessage<GetClassResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
GetClassResponse::PrimarySize,
GetClassResponse::PrimarySize)));
_response.device_class = std::move(device_class);
_buffer.set_actual(sizeof(GetClassResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<GetClassResponse>(std::move(_buffer)));
}
void Device::Interface::GetClassCompleterBase::Reply(::fidl::DecodedMessage<GetClassResponse> params) {
Device::SetTransactionHeaderFor::GetClassResponse(params);
CompleterBase::SendReply(std::move(params));
}
void Device::Interface::SetConfigCompleterBase::Reply(int32_t s) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<SetConfigResponse, ::fidl::MessageDirection::kSending>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize] = {};
auto& _response = *reinterpret_cast<SetConfigResponse*>(_write_bytes);
Device::SetTransactionHeaderFor::SetConfigResponse(
::fidl::DecodedMessage<SetConfigResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
SetConfigResponse::PrimarySize,
SetConfigResponse::PrimarySize)));
_response.s = std::move(s);
::fidl::BytePart _response_bytes(_write_bytes, _kWriteAllocSize, sizeof(SetConfigResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<SetConfigResponse>(std::move(_response_bytes)));
}
void Device::Interface::SetConfigCompleterBase::Reply(::fidl::BytePart _buffer, int32_t s) {
if (_buffer.capacity() < SetConfigResponse::PrimarySize) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
auto& _response = *reinterpret_cast<SetConfigResponse*>(_buffer.data());
Device::SetTransactionHeaderFor::SetConfigResponse(
::fidl::DecodedMessage<SetConfigResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
SetConfigResponse::PrimarySize,
SetConfigResponse::PrimarySize)));
_response.s = std::move(s);
_buffer.set_actual(sizeof(SetConfigResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<SetConfigResponse>(std::move(_buffer)));
}
void Device::Interface::SetConfigCompleterBase::Reply(::fidl::DecodedMessage<SetConfigResponse> params) {
Device::SetTransactionHeaderFor::SetConfigResponse(params);
CompleterBase::SendReply(std::move(params));
}
void Device::SetTransactionHeaderFor::GetClassRequest(const ::fidl::DecodedMessage<Device::GetClassRequest>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kDevice_GetClass_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void Device::SetTransactionHeaderFor::GetClassResponse(const ::fidl::DecodedMessage<Device::GetClassResponse>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kDevice_GetClass_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void Device::SetTransactionHeaderFor::SetConfigRequest(const ::fidl::DecodedMessage<Device::SetConfigRequest>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kDevice_SetConfig_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void Device::SetTransactionHeaderFor::SetConfigResponse(const ::fidl::DecodedMessage<Device::SetConfigResponse>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kDevice_SetConfig_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
namespace {
[[maybe_unused]]
constexpr uint64_t kNewDevice_GetClass_Ordinal = 0x6549990f00000000lu;
[[maybe_unused]]
constexpr uint64_t kNewDevice_GetClass_GenOrdinal = 0x3d48bbcee248ab8blu;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceGetClassRequestTable;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceGetClassResponseTable;
[[maybe_unused]]
constexpr uint64_t kNewDevice_SetConfig_Ordinal = 0x10bcc68c00000000lu;
[[maybe_unused]]
constexpr uint64_t kNewDevice_SetConfig_GenOrdinal = 0x771a0946f6f87173lu;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceSetConfigRequestTable;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceSetConfigResponseTable;
[[maybe_unused]]
constexpr uint64_t kNewDevice_Read_Ordinal = 0x1a6f49f800000000lu;
[[maybe_unused]]
constexpr uint64_t kNewDevice_Read_GenOrdinal = 0xc2570dbef247548lu;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceReadRequestTable;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceReadResponseTable;
[[maybe_unused]]
constexpr uint64_t kNewDevice_Write_Ordinal = 0x4a3e8e3f00000000lu;
[[maybe_unused]]
constexpr uint64_t kNewDevice_Write_GenOrdinal = 0x4238cc1d50b60487lu;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceWriteRequestTable;
extern "C" const fidl_type_t v1_fuchsia_hardware_serial_NewDeviceWriteResponseTable;
} // namespace
template <>
NewDevice::ResultOf::GetClass_Impl<NewDevice::GetClassResponse>::GetClass_Impl(::zx::unowned_channel _client_end) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<GetClassRequest, ::fidl::MessageDirection::kSending>();
::fidl::internal::AlignedBuffer<_kWriteAllocSize> _write_bytes_inlined;
auto& _write_bytes_array = _write_bytes_inlined;
uint8_t* _write_bytes = _write_bytes_array.view().data();
memset(_write_bytes, 0, GetClassRequest::PrimarySize);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(GetClassRequest));
::fidl::DecodedMessage<GetClassRequest> _decoded_request(std::move(_request_bytes));
Super::SetResult(
NewDevice::InPlace::GetClass(std::move(_client_end), Super::response_buffer()));
}
NewDevice::ResultOf::GetClass NewDevice::SyncClient::GetClass() {
return ResultOf::GetClass(::zx::unowned_channel(this->channel_));
}
NewDevice::ResultOf::GetClass NewDevice::Call::GetClass(::zx::unowned_channel _client_end) {
return ResultOf::GetClass(std::move(_client_end));
}
template <>
NewDevice::UnownedResultOf::GetClass_Impl<NewDevice::GetClassResponse>::GetClass_Impl(::zx::unowned_channel _client_end, ::fidl::BytePart _response_buffer) {
FIDL_ALIGNDECL uint8_t _write_bytes[sizeof(GetClassRequest)] = {};
::fidl::BytePart _request_buffer(_write_bytes, sizeof(_write_bytes));
memset(_request_buffer.data(), 0, GetClassRequest::PrimarySize);
_request_buffer.set_actual(sizeof(GetClassRequest));
::fidl::DecodedMessage<GetClassRequest> _decoded_request(std::move(_request_buffer));
Super::SetResult(
NewDevice::InPlace::GetClass(std::move(_client_end), std::move(_response_buffer)));
}
NewDevice::UnownedResultOf::GetClass NewDevice::SyncClient::GetClass(::fidl::BytePart _response_buffer) {
return UnownedResultOf::GetClass(::zx::unowned_channel(this->channel_), std::move(_response_buffer));
}
NewDevice::UnownedResultOf::GetClass NewDevice::Call::GetClass(::zx::unowned_channel _client_end, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::GetClass(std::move(_client_end), std::move(_response_buffer));
}
::fidl::DecodeResult<NewDevice::GetClassResponse> NewDevice::InPlace::GetClass(::zx::unowned_channel _client_end, ::fidl::BytePart response_buffer) {
constexpr uint32_t _write_num_bytes = sizeof(GetClassRequest);
::fidl::internal::AlignedBuffer<_write_num_bytes> _write_bytes;
::fidl::BytePart _request_buffer = _write_bytes.view();
_request_buffer.set_actual(_write_num_bytes);
::fidl::DecodedMessage<GetClassRequest> params(std::move(_request_buffer));
NewDevice::SetTransactionHeaderFor::GetClassRequest(params);
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::GetClassResponse>::FromFailure(
std::move(_encode_request_result));
}
auto _call_result = ::fidl::Call<GetClassRequest, GetClassResponse>(
std::move(_client_end), std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::GetClassResponse>::FromFailure(
std::move(_call_result));
}
return ::fidl::Decode(std::move(_call_result.message));
}
template <>
NewDevice::ResultOf::SetConfig_Impl<NewDevice::SetConfigResponse>::SetConfig_Impl(::zx::unowned_channel _client_end, ::llcpp::fuchsia::hardware::serial::Config config) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<SetConfigRequest, ::fidl::MessageDirection::kSending>();
::fidl::internal::AlignedBuffer<_kWriteAllocSize> _write_bytes_inlined;
auto& _write_bytes_array = _write_bytes_inlined;
uint8_t* _write_bytes = _write_bytes_array.view().data();
memset(_write_bytes, 0, SetConfigRequest::PrimarySize);
auto& _request = *reinterpret_cast<SetConfigRequest*>(_write_bytes);
_request.config = std::move(config);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(SetConfigRequest));
::fidl::DecodedMessage<SetConfigRequest> _decoded_request(std::move(_request_bytes));
Super::SetResult(
NewDevice::InPlace::SetConfig(std::move(_client_end), std::move(_decoded_request), Super::response_buffer()));
}
NewDevice::ResultOf::SetConfig NewDevice::SyncClient::SetConfig(::llcpp::fuchsia::hardware::serial::Config config) {
return ResultOf::SetConfig(::zx::unowned_channel(this->channel_), std::move(config));
}
NewDevice::ResultOf::SetConfig NewDevice::Call::SetConfig(::zx::unowned_channel _client_end, ::llcpp::fuchsia::hardware::serial::Config config) {
return ResultOf::SetConfig(std::move(_client_end), std::move(config));
}
template <>
NewDevice::UnownedResultOf::SetConfig_Impl<NewDevice::SetConfigResponse>::SetConfig_Impl(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::llcpp::fuchsia::hardware::serial::Config config, ::fidl::BytePart _response_buffer) {
if (_request_buffer.capacity() < SetConfigRequest::PrimarySize) {
Super::SetFailure(::fidl::DecodeResult<SetConfigResponse>(ZX_ERR_BUFFER_TOO_SMALL, ::fidl::internal::kErrorRequestBufferTooSmall));
return;
}
memset(_request_buffer.data(), 0, SetConfigRequest::PrimarySize);
auto& _request = *reinterpret_cast<SetConfigRequest*>(_request_buffer.data());
_request.config = std::move(config);
_request_buffer.set_actual(sizeof(SetConfigRequest));
::fidl::DecodedMessage<SetConfigRequest> _decoded_request(std::move(_request_buffer));
Super::SetResult(
NewDevice::InPlace::SetConfig(std::move(_client_end), std::move(_decoded_request), std::move(_response_buffer)));
}
NewDevice::UnownedResultOf::SetConfig NewDevice::SyncClient::SetConfig(::fidl::BytePart _request_buffer, ::llcpp::fuchsia::hardware::serial::Config config, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::SetConfig(::zx::unowned_channel(this->channel_), std::move(_request_buffer), std::move(config), std::move(_response_buffer));
}
NewDevice::UnownedResultOf::SetConfig NewDevice::Call::SetConfig(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::llcpp::fuchsia::hardware::serial::Config config, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::SetConfig(std::move(_client_end), std::move(_request_buffer), std::move(config), std::move(_response_buffer));
}
::fidl::DecodeResult<NewDevice::SetConfigResponse> NewDevice::InPlace::SetConfig(::zx::unowned_channel _client_end, ::fidl::DecodedMessage<SetConfigRequest> params, ::fidl::BytePart response_buffer) {
NewDevice::SetTransactionHeaderFor::SetConfigRequest(params);
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::SetConfigResponse>::FromFailure(
std::move(_encode_request_result));
}
auto _call_result = ::fidl::Call<SetConfigRequest, SetConfigResponse>(
std::move(_client_end), std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::SetConfigResponse>::FromFailure(
std::move(_call_result));
}
return ::fidl::Decode(std::move(_call_result.message));
}
template <>
NewDevice::ResultOf::Read_Impl<NewDevice::ReadResponse>::Read_Impl(::zx::unowned_channel _client_end) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<ReadRequest, ::fidl::MessageDirection::kSending>();
::fidl::internal::AlignedBuffer<_kWriteAllocSize> _write_bytes_inlined;
auto& _write_bytes_array = _write_bytes_inlined;
uint8_t* _write_bytes = _write_bytes_array.view().data();
memset(_write_bytes, 0, ReadRequest::PrimarySize);
::fidl::BytePart _request_bytes(_write_bytes, _kWriteAllocSize, sizeof(ReadRequest));
::fidl::DecodedMessage<ReadRequest> _decoded_request(std::move(_request_bytes));
Super::SetResult(
NewDevice::InPlace::Read(std::move(_client_end), Super::response_buffer()));
}
NewDevice::ResultOf::Read NewDevice::SyncClient::Read() {
return ResultOf::Read(::zx::unowned_channel(this->channel_));
}
NewDevice::ResultOf::Read NewDevice::Call::Read(::zx::unowned_channel _client_end) {
return ResultOf::Read(std::move(_client_end));
}
template <>
NewDevice::UnownedResultOf::Read_Impl<NewDevice::ReadResponse>::Read_Impl(::zx::unowned_channel _client_end, ::fidl::BytePart _response_buffer) {
FIDL_ALIGNDECL uint8_t _write_bytes[sizeof(ReadRequest)] = {};
::fidl::BytePart _request_buffer(_write_bytes, sizeof(_write_bytes));
memset(_request_buffer.data(), 0, ReadRequest::PrimarySize);
_request_buffer.set_actual(sizeof(ReadRequest));
::fidl::DecodedMessage<ReadRequest> _decoded_request(std::move(_request_buffer));
Super::SetResult(
NewDevice::InPlace::Read(std::move(_client_end), std::move(_response_buffer)));
}
NewDevice::UnownedResultOf::Read NewDevice::SyncClient::Read(::fidl::BytePart _response_buffer) {
return UnownedResultOf::Read(::zx::unowned_channel(this->channel_), std::move(_response_buffer));
}
NewDevice::UnownedResultOf::Read NewDevice::Call::Read(::zx::unowned_channel _client_end, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::Read(std::move(_client_end), std::move(_response_buffer));
}
::fidl::DecodeResult<NewDevice::ReadResponse> NewDevice::InPlace::Read(::zx::unowned_channel _client_end, ::fidl::BytePart response_buffer) {
constexpr uint32_t _write_num_bytes = sizeof(ReadRequest);
::fidl::internal::AlignedBuffer<_write_num_bytes> _write_bytes;
::fidl::BytePart _request_buffer = _write_bytes.view();
_request_buffer.set_actual(_write_num_bytes);
::fidl::DecodedMessage<ReadRequest> params(std::move(_request_buffer));
NewDevice::SetTransactionHeaderFor::ReadRequest(params);
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::ReadResponse>::FromFailure(
std::move(_encode_request_result));
}
auto _call_result = ::fidl::Call<ReadRequest, ReadResponse>(
std::move(_client_end), std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::ReadResponse>::FromFailure(
std::move(_call_result));
}
return ::fidl::Decode(std::move(_call_result.message));
}
template <>
NewDevice::ResultOf::Write_Impl<NewDevice::WriteResponse>::Write_Impl(::zx::unowned_channel _client_end, ::fidl::VectorView<uint8_t> data) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<WriteRequest, ::fidl::MessageDirection::kSending>();
std::unique_ptr _write_bytes_boxed = std::make_unique<::fidl::internal::AlignedBuffer<_kWriteAllocSize>>();
auto& _write_bytes_array = *_write_bytes_boxed;
WriteRequest _request = {};
_request.data = std::move(data);
auto _linearize_result = ::fidl::Linearize(&_request, _write_bytes_array.view());
if (_linearize_result.status != ZX_OK) {
Super::SetFailure(std::move(_linearize_result));
return;
}
::fidl::DecodedMessage<WriteRequest> _decoded_request = std::move(_linearize_result.message);
Super::SetResult(
NewDevice::InPlace::Write(std::move(_client_end), std::move(_decoded_request), Super::response_buffer()));
}
NewDevice::ResultOf::Write NewDevice::SyncClient::Write(::fidl::VectorView<uint8_t> data) {
return ResultOf::Write(::zx::unowned_channel(this->channel_), std::move(data));
}
NewDevice::ResultOf::Write NewDevice::Call::Write(::zx::unowned_channel _client_end, ::fidl::VectorView<uint8_t> data) {
return ResultOf::Write(std::move(_client_end), std::move(data));
}
template <>
NewDevice::UnownedResultOf::Write_Impl<NewDevice::WriteResponse>::Write_Impl(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::fidl::VectorView<uint8_t> data, ::fidl::BytePart _response_buffer) {
if (_request_buffer.capacity() < WriteRequest::PrimarySize) {
Super::SetFailure(::fidl::DecodeResult<WriteResponse>(ZX_ERR_BUFFER_TOO_SMALL, ::fidl::internal::kErrorRequestBufferTooSmall));
return;
}
WriteRequest _request = {};
_request.data = std::move(data);
auto _linearize_result = ::fidl::Linearize(&_request, std::move(_request_buffer));
if (_linearize_result.status != ZX_OK) {
Super::SetFailure(std::move(_linearize_result));
return;
}
::fidl::DecodedMessage<WriteRequest> _decoded_request = std::move(_linearize_result.message);
Super::SetResult(
NewDevice::InPlace::Write(std::move(_client_end), std::move(_decoded_request), std::move(_response_buffer)));
}
NewDevice::UnownedResultOf::Write NewDevice::SyncClient::Write(::fidl::BytePart _request_buffer, ::fidl::VectorView<uint8_t> data, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::Write(::zx::unowned_channel(this->channel_), std::move(_request_buffer), std::move(data), std::move(_response_buffer));
}
NewDevice::UnownedResultOf::Write NewDevice::Call::Write(::zx::unowned_channel _client_end, ::fidl::BytePart _request_buffer, ::fidl::VectorView<uint8_t> data, ::fidl::BytePart _response_buffer) {
return UnownedResultOf::Write(std::move(_client_end), std::move(_request_buffer), std::move(data), std::move(_response_buffer));
}
::fidl::DecodeResult<NewDevice::WriteResponse> NewDevice::InPlace::Write(::zx::unowned_channel _client_end, ::fidl::DecodedMessage<WriteRequest> params, ::fidl::BytePart response_buffer) {
NewDevice::SetTransactionHeaderFor::WriteRequest(params);
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::WriteResponse>::FromFailure(
std::move(_encode_request_result));
}
auto _call_result = ::fidl::Call<WriteRequest, WriteResponse>(
std::move(_client_end), std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<NewDevice::WriteResponse>::FromFailure(
std::move(_call_result));
}
return ::fidl::Decode(std::move(_call_result.message));
}
bool NewDevice::TryDispatch(Interface* impl, fidl_msg_t* msg, ::fidl::Transaction* txn) {
if (msg->num_bytes < sizeof(fidl_message_header_t)) {
zx_handle_close_many(msg->handles, msg->num_handles);
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
fidl_message_header_t* hdr = reinterpret_cast<fidl_message_header_t*>(msg->bytes);
zx_status_t status = fidl_validate_txn_header(hdr);
if (status != ZX_OK) {
txn->Close(status);
return true;
}
switch (hdr->ordinal) {
case kNewDevice_GetClass_Ordinal:
case kNewDevice_GetClass_GenOrdinal:
{
auto result = ::fidl::DecodeAs<GetClassRequest>(msg);
if (result.status != ZX_OK) {
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
impl->GetClass(
Interface::GetClassCompleter::Sync(txn));
return true;
}
case kNewDevice_SetConfig_Ordinal:
case kNewDevice_SetConfig_GenOrdinal:
{
auto result = ::fidl::DecodeAs<SetConfigRequest>(msg);
if (result.status != ZX_OK) {
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
auto message = result.message.message();
impl->SetConfig(std::move(message->config),
Interface::SetConfigCompleter::Sync(txn));
return true;
}
case kNewDevice_Read_Ordinal:
case kNewDevice_Read_GenOrdinal:
{
auto result = ::fidl::DecodeAs<ReadRequest>(msg);
if (result.status != ZX_OK) {
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
impl->Read(
Interface::ReadCompleter::Sync(txn));
return true;
}
case kNewDevice_Write_Ordinal:
case kNewDevice_Write_GenOrdinal:
{
auto result = ::fidl::DecodeAs<WriteRequest>(msg);
if (result.status != ZX_OK) {
txn->Close(ZX_ERR_INVALID_ARGS);
return true;
}
auto message = result.message.message();
impl->Write(std::move(message->data),
Interface::WriteCompleter::Sync(txn));
return true;
}
default: {
return false;
}
}
}
bool NewDevice::Dispatch(Interface* impl, fidl_msg_t* msg, ::fidl::Transaction* txn) {
bool found = TryDispatch(impl, msg, txn);
if (!found) {
zx_handle_close_many(msg->handles, msg->num_handles);
txn->Close(ZX_ERR_NOT_SUPPORTED);
}
return found;
}
void NewDevice::Interface::GetClassCompleterBase::Reply(::llcpp::fuchsia::hardware::serial::Class device_class) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<GetClassResponse, ::fidl::MessageDirection::kSending>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize] = {};
auto& _response = *reinterpret_cast<GetClassResponse*>(_write_bytes);
NewDevice::SetTransactionHeaderFor::GetClassResponse(
::fidl::DecodedMessage<GetClassResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
GetClassResponse::PrimarySize,
GetClassResponse::PrimarySize)));
_response.device_class = std::move(device_class);
::fidl::BytePart _response_bytes(_write_bytes, _kWriteAllocSize, sizeof(GetClassResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<GetClassResponse>(std::move(_response_bytes)));
}
void NewDevice::Interface::GetClassCompleterBase::Reply(::fidl::BytePart _buffer, ::llcpp::fuchsia::hardware::serial::Class device_class) {
if (_buffer.capacity() < GetClassResponse::PrimarySize) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
auto& _response = *reinterpret_cast<GetClassResponse*>(_buffer.data());
NewDevice::SetTransactionHeaderFor::GetClassResponse(
::fidl::DecodedMessage<GetClassResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
GetClassResponse::PrimarySize,
GetClassResponse::PrimarySize)));
_response.device_class = std::move(device_class);
_buffer.set_actual(sizeof(GetClassResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<GetClassResponse>(std::move(_buffer)));
}
void NewDevice::Interface::GetClassCompleterBase::Reply(::fidl::DecodedMessage<GetClassResponse> params) {
NewDevice::SetTransactionHeaderFor::GetClassResponse(params);
CompleterBase::SendReply(std::move(params));
}
void NewDevice::Interface::SetConfigCompleterBase::Reply(int32_t s) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<SetConfigResponse, ::fidl::MessageDirection::kSending>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize] = {};
auto& _response = *reinterpret_cast<SetConfigResponse*>(_write_bytes);
NewDevice::SetTransactionHeaderFor::SetConfigResponse(
::fidl::DecodedMessage<SetConfigResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
SetConfigResponse::PrimarySize,
SetConfigResponse::PrimarySize)));
_response.s = std::move(s);
::fidl::BytePart _response_bytes(_write_bytes, _kWriteAllocSize, sizeof(SetConfigResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<SetConfigResponse>(std::move(_response_bytes)));
}
void NewDevice::Interface::SetConfigCompleterBase::Reply(::fidl::BytePart _buffer, int32_t s) {
if (_buffer.capacity() < SetConfigResponse::PrimarySize) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
auto& _response = *reinterpret_cast<SetConfigResponse*>(_buffer.data());
NewDevice::SetTransactionHeaderFor::SetConfigResponse(
::fidl::DecodedMessage<SetConfigResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
SetConfigResponse::PrimarySize,
SetConfigResponse::PrimarySize)));
_response.s = std::move(s);
_buffer.set_actual(sizeof(SetConfigResponse));
CompleterBase::SendReply(::fidl::DecodedMessage<SetConfigResponse>(std::move(_buffer)));
}
void NewDevice::Interface::SetConfigCompleterBase::Reply(::fidl::DecodedMessage<SetConfigResponse> params) {
NewDevice::SetTransactionHeaderFor::SetConfigResponse(params);
CompleterBase::SendReply(std::move(params));
}
void NewDevice::Interface::ReadCompleterBase::Reply(::llcpp::fuchsia::hardware::serial::NewDevice_Read_Result result) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<ReadResponse, ::fidl::MessageDirection::kSending>();
std::unique_ptr<uint8_t[]> _write_bytes_unique_ptr(new uint8_t[_kWriteAllocSize]);
uint8_t* _write_bytes = _write_bytes_unique_ptr.get();
ReadResponse _response = {};
NewDevice::SetTransactionHeaderFor::ReadResponse(
::fidl::DecodedMessage<ReadResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
ReadResponse::PrimarySize,
ReadResponse::PrimarySize)));
_response.result = std::move(result);
auto _linearize_result = ::fidl::Linearize(&_response, ::fidl::BytePart(_write_bytes,
_kWriteAllocSize));
if (_linearize_result.status != ZX_OK) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
CompleterBase::SendReply(std::move(_linearize_result.message));
}
void NewDevice::Interface::ReadCompleterBase::ReplySuccess(::fidl::VectorView<uint8_t> data) {
NewDevice_Read_Response response;
response.data = std::move(data);
Reply(NewDevice_Read_Result::WithResponse(&response));
}
void NewDevice::Interface::ReadCompleterBase::ReplyError(int32_t error) {
Reply(NewDevice_Read_Result::WithErr(&error));
}
void NewDevice::Interface::ReadCompleterBase::Reply(::fidl::BytePart _buffer, ::llcpp::fuchsia::hardware::serial::NewDevice_Read_Result result) {
if (_buffer.capacity() < ReadResponse::PrimarySize) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
ReadResponse _response = {};
NewDevice::SetTransactionHeaderFor::ReadResponse(
::fidl::DecodedMessage<ReadResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
ReadResponse::PrimarySize,
ReadResponse::PrimarySize)));
_response.result = std::move(result);
auto _linearize_result = ::fidl::Linearize(&_response, std::move(_buffer));
if (_linearize_result.status != ZX_OK) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
CompleterBase::SendReply(std::move(_linearize_result.message));
}
void NewDevice::Interface::ReadCompleterBase::ReplySuccess(::fidl::BytePart _buffer, ::fidl::VectorView<uint8_t> data) {
NewDevice_Read_Response response;
response.data = std::move(data);
Reply(std::move(_buffer), NewDevice_Read_Result::WithResponse(&response));
}
void NewDevice::Interface::ReadCompleterBase::Reply(::fidl::DecodedMessage<ReadResponse> params) {
NewDevice::SetTransactionHeaderFor::ReadResponse(params);
CompleterBase::SendReply(std::move(params));
}
void NewDevice::Interface::WriteCompleterBase::Reply(::llcpp::fuchsia::hardware::serial::NewDevice_Write_Result result) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<WriteResponse, ::fidl::MessageDirection::kSending>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize];
WriteResponse _response = {};
NewDevice::SetTransactionHeaderFor::WriteResponse(
::fidl::DecodedMessage<WriteResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
WriteResponse::PrimarySize,
WriteResponse::PrimarySize)));
_response.result = std::move(result);
auto _linearize_result = ::fidl::Linearize(&_response, ::fidl::BytePart(_write_bytes,
_kWriteAllocSize));
if (_linearize_result.status != ZX_OK) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
CompleterBase::SendReply(std::move(_linearize_result.message));
}
void NewDevice::Interface::WriteCompleterBase::ReplySuccess() {
NewDevice_Write_Response response;
Reply(NewDevice_Write_Result::WithResponse(&response));
}
void NewDevice::Interface::WriteCompleterBase::ReplyError(int32_t error) {
Reply(NewDevice_Write_Result::WithErr(&error));
}
void NewDevice::Interface::WriteCompleterBase::Reply(::fidl::BytePart _buffer, ::llcpp::fuchsia::hardware::serial::NewDevice_Write_Result result) {
if (_buffer.capacity() < WriteResponse::PrimarySize) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
WriteResponse _response = {};
NewDevice::SetTransactionHeaderFor::WriteResponse(
::fidl::DecodedMessage<WriteResponse>(
::fidl::BytePart(reinterpret_cast<uint8_t*>(&_response),
WriteResponse::PrimarySize,
WriteResponse::PrimarySize)));
_response.result = std::move(result);
auto _linearize_result = ::fidl::Linearize(&_response, std::move(_buffer));
if (_linearize_result.status != ZX_OK) {
CompleterBase::Close(ZX_ERR_INTERNAL);
return;
}
CompleterBase::SendReply(std::move(_linearize_result.message));
}
void NewDevice::Interface::WriteCompleterBase::ReplySuccess(::fidl::BytePart _buffer) {
NewDevice_Write_Response response;
Reply(std::move(_buffer), NewDevice_Write_Result::WithResponse(&response));
}
void NewDevice::Interface::WriteCompleterBase::Reply(::fidl::DecodedMessage<WriteResponse> params) {
NewDevice::SetTransactionHeaderFor::WriteResponse(params);
CompleterBase::SendReply(std::move(params));
}
void NewDevice::SetTransactionHeaderFor::GetClassRequest(const ::fidl::DecodedMessage<NewDevice::GetClassRequest>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_GetClass_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void NewDevice::SetTransactionHeaderFor::GetClassResponse(const ::fidl::DecodedMessage<NewDevice::GetClassResponse>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_GetClass_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void NewDevice::SetTransactionHeaderFor::SetConfigRequest(const ::fidl::DecodedMessage<NewDevice::SetConfigRequest>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_SetConfig_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void NewDevice::SetTransactionHeaderFor::SetConfigResponse(const ::fidl::DecodedMessage<NewDevice::SetConfigResponse>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_SetConfig_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void NewDevice::SetTransactionHeaderFor::ReadRequest(const ::fidl::DecodedMessage<NewDevice::ReadRequest>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_Read_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void NewDevice::SetTransactionHeaderFor::ReadResponse(const ::fidl::DecodedMessage<NewDevice::ReadResponse>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_Read_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void NewDevice::SetTransactionHeaderFor::WriteRequest(const ::fidl::DecodedMessage<NewDevice::WriteRequest>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_Write_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
void NewDevice::SetTransactionHeaderFor::WriteResponse(const ::fidl::DecodedMessage<NewDevice::WriteResponse>& _msg) {
fidl_init_txn_header(&_msg.message()->_hdr, 0, kNewDevice_Write_GenOrdinal);
_msg.message()->_hdr.flags[0] |= FIDL_TXN_HEADER_UNION_FROM_XUNION_FLAG;
}
} // namespace serial
} // namespace hardware
} // namespace fuchsia
} // namespace llcpp