blob: ab19c3802d350c41623147cdbcac6aa020b9d209 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#include <fidl_llcpp_dirent.h>
#include <memory>
namespace fidl {
namespace test {
namespace llcpp {
namespace dirent {
namespace {
[[maybe_unused]]
constexpr uint32_t kDirEntTestInterface_CountNumDirectories_Ordinal = 1763037320u;
extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceCountNumDirectoriesRequestTable;
[[maybe_unused]]
constexpr uint32_t kDirEntTestInterface_ReadDir_Ordinal = 5390459u;
extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceReadDirResponseTable;
[[maybe_unused]]
constexpr uint32_t kDirEntTestInterface_ConsumeDirectories_Ordinal = 426073095u;
extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceConsumeDirectoriesRequestTable;
[[maybe_unused]]
constexpr uint32_t kDirEntTestInterface_OnDirents_Ordinal = 1283577530u;
extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceOnDirentsEventTable;
[[maybe_unused]]
constexpr uint32_t kDirEntTestInterface_OneWayDirents_Ordinal = 1810555765u;
extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceOneWayDirentsRequestTable;
} // namespace
zx_status_t DirEntTestInterface::SyncClient::CountNumDirectories(::fidl::VectorView<DirEnt> dirents, int64_t* out_num_dir) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<CountNumDirectoriesRequest>();
std::unique_ptr<uint8_t[]> _write_bytes_unique_ptr(new uint8_t[_kWriteAllocSize]);
uint8_t* _write_bytes = _write_bytes_unique_ptr.get();
CountNumDirectoriesRequest _request = {};
_request._hdr.ordinal = kDirEntTestInterface_CountNumDirectories_Ordinal;
_request.dirents = std::move(dirents);
auto _linearize_result = ::fidl::Linearize(&_request, ::fidl::BytePart(_write_bytes,
_kWriteAllocSize));
if (_linearize_result.status != ZX_OK) {
return _linearize_result.status;
}
::fidl::DecodedMessage<CountNumDirectoriesRequest> _decoded_request = std::move(_linearize_result.message);
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<CountNumDirectoriesResponse>();
FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize];
::fidl::BytePart _response_bytes(_read_bytes, _kReadAllocSize);
auto _call_result = ::fidl::Call<CountNumDirectoriesRequest, CountNumDirectoriesResponse>(
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_num_dir = std::move(_response.num_dir);
return ZX_OK;
}
zx_status_t DirEntTestInterface::SyncClient::CountNumDirectories(::fidl::BytePart _request_buffer, ::fidl::VectorView<DirEnt> dirents, ::fidl::BytePart _response_buffer, int64_t* out_num_dir) {
CountNumDirectoriesRequest _request = {};
_request._hdr.ordinal = kDirEntTestInterface_CountNumDirectories_Ordinal;
_request.dirents = std::move(dirents);
auto _linearize_result = ::fidl::Linearize(&_request, std::move(_request_buffer));
if (_linearize_result.status != ZX_OK) {
return _linearize_result.status;
}
::fidl::DecodedMessage<CountNumDirectoriesRequest> _decoded_request = std::move(_linearize_result.message);
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<CountNumDirectoriesRequest, CountNumDirectoriesResponse>(
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_num_dir = std::move(_response.num_dir);
return ZX_OK;
}
::fidl::DecodeResult<DirEntTestInterface::CountNumDirectoriesResponse> DirEntTestInterface::SyncClient::CountNumDirectories(::fidl::DecodedMessage<CountNumDirectoriesRequest> params, ::fidl::BytePart response_buffer) {
params.message()->_hdr = {};
params.message()->_hdr.ordinal = kDirEntTestInterface_CountNumDirectories_Ordinal;
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<DirEntTestInterface::CountNumDirectoriesResponse>(
_encode_request_result.status,
_encode_request_result.error,
::fidl::DecodedMessage<DirEntTestInterface::CountNumDirectoriesResponse>());
}
auto _call_result = ::fidl::Call<CountNumDirectoriesRequest, CountNumDirectoriesResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<DirEntTestInterface::CountNumDirectoriesResponse>(
_call_result.status,
_call_result.error,
::fidl::DecodedMessage<DirEntTestInterface::CountNumDirectoriesResponse>());
}
return ::fidl::Decode(std::move(_call_result.message));
}
zx_status_t DirEntTestInterface::SyncClient::ReadDir(::fidl::BytePart _response_buffer, ::fidl::VectorView<DirEnt>* out_dirents) {
FIDL_ALIGNDECL uint8_t _write_bytes[sizeof(ReadDirRequest)] = {};
::fidl::BytePart _request_buffer(_write_bytes, sizeof(_write_bytes));
auto& _request = *reinterpret_cast<ReadDirRequest*>(_request_buffer.data());
_request._hdr.ordinal = kDirEntTestInterface_ReadDir_Ordinal;
_request_buffer.set_actual(sizeof(ReadDirRequest));
::fidl::DecodedMessage<ReadDirRequest> _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<ReadDirRequest, ReadDirResponse>(
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_dirents = std::move(_response.dirents);
return ZX_OK;
}
::fidl::DecodeResult<DirEntTestInterface::ReadDirResponse> DirEntTestInterface::SyncClient::ReadDir(::fidl::BytePart response_buffer) {
FIDL_ALIGNDECL uint8_t _write_bytes[sizeof(ReadDirRequest)] = {};
constexpr uint32_t _write_num_bytes = sizeof(ReadDirRequest);
::fidl::BytePart _request_buffer(_write_bytes, sizeof(_write_bytes), _write_num_bytes);
::fidl::DecodedMessage<ReadDirRequest> params(std::move(_request_buffer));
params.message()->_hdr = {};
params.message()->_hdr.ordinal = kDirEntTestInterface_ReadDir_Ordinal;
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return ::fidl::DecodeResult<DirEntTestInterface::ReadDirResponse>(
_encode_request_result.status,
_encode_request_result.error,
::fidl::DecodedMessage<DirEntTestInterface::ReadDirResponse>());
}
auto _call_result = ::fidl::Call<ReadDirRequest, ReadDirResponse>(
this->channel_, std::move(_encode_request_result.message), std::move(response_buffer));
if (_call_result.status != ZX_OK) {
return ::fidl::DecodeResult<DirEntTestInterface::ReadDirResponse>(
_call_result.status,
_call_result.error,
::fidl::DecodedMessage<DirEntTestInterface::ReadDirResponse>());
}
return ::fidl::Decode(std::move(_call_result.message));
}
zx_status_t DirEntTestInterface::SyncClient::ConsumeDirectories(::fidl::VectorView<DirEnt> dirents) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeDirectoriesRequest>();
FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize];
ConsumeDirectoriesRequest _request = {};
_request._hdr.ordinal = kDirEntTestInterface_ConsumeDirectories_Ordinal;
_request.dirents = std::move(dirents);
auto _linearize_result = ::fidl::Linearize(&_request, ::fidl::BytePart(_write_bytes,
_kWriteAllocSize));
if (_linearize_result.status != ZX_OK) {
return _linearize_result.status;
}
::fidl::DecodedMessage<ConsumeDirectoriesRequest> _decoded_request = std::move(_linearize_result.message);
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<ConsumeDirectoriesResponse>();
FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize];
::fidl::BytePart _response_bytes(_read_bytes, _kReadAllocSize);
auto _call_result = ::fidl::Call<ConsumeDirectoriesRequest, ConsumeDirectoriesResponse>(
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;
}
return ZX_OK;
}
zx_status_t DirEntTestInterface::SyncClient::ConsumeDirectories(::fidl::BytePart _request_buffer, ::fidl::VectorView<DirEnt> dirents) {
ConsumeDirectoriesRequest _request = {};
_request._hdr.ordinal = kDirEntTestInterface_ConsumeDirectories_Ordinal;
_request.dirents = std::move(dirents);
auto _linearize_result = ::fidl::Linearize(&_request, std::move(_request_buffer));
if (_linearize_result.status != ZX_OK) {
return _linearize_result.status;
}
::fidl::DecodedMessage<ConsumeDirectoriesRequest> _decoded_request = std::move(_linearize_result.message);
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<ConsumeDirectoriesResponse>();
FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize];
::fidl::BytePart _response_buffer(_read_bytes, sizeof(_read_bytes));
auto _call_result = ::fidl::Call<ConsumeDirectoriesRequest, ConsumeDirectoriesResponse>(
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;
}
return ZX_OK;
}
zx_status_t DirEntTestInterface::SyncClient::ConsumeDirectories(::fidl::DecodedMessage<ConsumeDirectoriesRequest> params) {
params.message()->_hdr = {};
params.message()->_hdr.ordinal = kDirEntTestInterface_ConsumeDirectories_Ordinal;
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
constexpr uint32_t _kReadAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeDirectoriesResponse>();
FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize];
::fidl::BytePart response_buffer(_read_bytes, sizeof(_read_bytes));
auto _call_result = ::fidl::Call<ConsumeDirectoriesRequest, ConsumeDirectoriesResponse>(
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));
return _decode_result.status;
}
zx_status_t DirEntTestInterface::SyncClient::OneWayDirents(::fidl::VectorView<DirEnt> dirents, ::zx::eventpair ep) {
constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<OneWayDirentsRequest>();
std::unique_ptr<uint8_t[]> _write_bytes_unique_ptr(new uint8_t[_kWriteAllocSize]);
uint8_t* _write_bytes = _write_bytes_unique_ptr.get();
OneWayDirentsRequest _request = {};
_request._hdr.ordinal = kDirEntTestInterface_OneWayDirents_Ordinal;
_request.dirents = std::move(dirents);
_request.ep = std::move(ep);
auto _linearize_result = ::fidl::Linearize(&_request, ::fidl::BytePart(_write_bytes,
_kWriteAllocSize));
if (_linearize_result.status != ZX_OK) {
return _linearize_result.status;
}
::fidl::DecodedMessage<OneWayDirentsRequest> _decoded_request = std::move(_linearize_result.message);
auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
const auto& _oneway = _encode_request_result.message;
return this->channel_.write(0,
_oneway.bytes().data(), _oneway.bytes().actual(),
_oneway.handles().data(), _oneway.handles().actual());
}
zx_status_t DirEntTestInterface::SyncClient::OneWayDirents(::fidl::BytePart _request_buffer, ::fidl::VectorView<DirEnt> dirents, ::zx::eventpair ep) {
OneWayDirentsRequest _request = {};
_request._hdr.ordinal = kDirEntTestInterface_OneWayDirents_Ordinal;
_request.dirents = std::move(dirents);
_request.ep = std::move(ep);
auto _linearize_result = ::fidl::Linearize(&_request, std::move(_request_buffer));
if (_linearize_result.status != ZX_OK) {
return _linearize_result.status;
}
::fidl::DecodedMessage<OneWayDirentsRequest> _decoded_request = std::move(_linearize_result.message);
auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
const auto& _oneway = _encode_request_result.message;
return this->channel_.write(0,
_oneway.bytes().data(), _oneway.bytes().actual(),
_oneway.handles().data(), _oneway.handles().actual());
}
zx_status_t DirEntTestInterface::SyncClient::OneWayDirents(::fidl::DecodedMessage<OneWayDirentsRequest> params) {
params.message()->_hdr = {};
params.message()->_hdr.ordinal = kDirEntTestInterface_OneWayDirents_Ordinal;
auto _encode_request_result = ::fidl::Encode(std::move(params));
if (_encode_request_result.status != ZX_OK) {
return _encode_request_result.status;
}
const auto& _oneway = _encode_request_result.message;
return this->channel_.write(0,
_oneway.bytes().data(), _oneway.bytes().actual(),
_oneway.handles().data(), _oneway.handles().actual());
}
} // namespace dirent
} // namespace llcpp
} // namespace test
} // namespace fidl