/* * Generated by erpcgen 1.14.0 on Tue Apr 28 12:16:37 2026. * * AUTOGENERATED - DO NOT EDIT */ #if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_DYNAMIC #include "erpc_port.h" #endif #include "erpc_codec.hpp" #include "file_service_client.hpp" #include "erpc_manually_constructed.hpp" #if 11400 != ERPC_VERSION_NUMBER #error "The generated shim code version is different to the rest of eRPC code." #endif using namespace erpc; using namespace std; using namespace erpcShim; //! @brief Function to write struct binary_t static void write_binary_t_struct(erpc::Codec * codec, const binary_t * data); // Write struct binary_t function implementation static void write_binary_t_struct(erpc::Codec * codec, const binary_t * data) { if(NULL == data) { return; } codec->writeBinary(data->dataLength, data->data); } file_service_client::file_service_client(ClientManager *manager) :m_clientManager(manager) { } file_service_client::~file_service_client() { } // file_service interface fileWriteBegin function client shim. int32_t file_service_client::fileWriteBegin(const char * path, uint32_t total_size) { erpc_status_t err = kErpcStatus_Success; int32_t result; #if ERPC_PRE_POST_ACTION pre_post_action_cb preCB = m_clientManager->getPreCB(); if (preCB) { preCB(); } #endif // Get a new request. RequestContext request = m_clientManager->createRequest(false); // Encode the request. Codec * codec = request.getCodec(); if (codec == NULL) { err = kErpcStatus_MemoryError; } else { codec->startWriteMessage(message_type_t::kInvocationMessage, m_serviceId, m_fileWriteBeginId, request.getSequence()); { uint32_t path_len = strlen((const char*)path); codec->writeString(path_len, (const char*)path); } codec->write(total_size); // Send message to server // Codec status is checked inside this function. m_clientManager->performRequest(request); codec->read(result); err = codec->getStatus(); } // Dispose of the request. m_clientManager->releaseRequest(request); // Invoke error handler callback function m_clientManager->callErrorHandler(err, m_fileWriteBeginId); #if ERPC_PRE_POST_ACTION pre_post_action_cb postCB = m_clientManager->getPostCB(); if (postCB) { postCB(); } #endif if (err != kErpcStatus_Success) { result = -1; } return result; } // file_service interface fileWriteChunk function client shim. int32_t file_service_client::fileWriteChunk(const binary_t * data) { erpc_status_t err = kErpcStatus_Success; int32_t result; #if ERPC_PRE_POST_ACTION pre_post_action_cb preCB = m_clientManager->getPreCB(); if (preCB) { preCB(); } #endif // Get a new request. RequestContext request = m_clientManager->createRequest(false); // Encode the request. Codec * codec = request.getCodec(); if (codec == NULL) { err = kErpcStatus_MemoryError; } else { codec->startWriteMessage(message_type_t::kInvocationMessage, m_serviceId, m_fileWriteChunkId, request.getSequence()); write_binary_t_struct(codec, data); // Send message to server // Codec status is checked inside this function. m_clientManager->performRequest(request); codec->read(result); err = codec->getStatus(); } // Dispose of the request. m_clientManager->releaseRequest(request); // Invoke error handler callback function m_clientManager->callErrorHandler(err, m_fileWriteChunkId); #if ERPC_PRE_POST_ACTION pre_post_action_cb postCB = m_clientManager->getPostCB(); if (postCB) { postCB(); } #endif if (err != kErpcStatus_Success) { result = -1; } return result; } // file_service interface fileWriteEnd function client shim. int32_t file_service_client::fileWriteEnd(void) { erpc_status_t err = kErpcStatus_Success; int32_t result; #if ERPC_PRE_POST_ACTION pre_post_action_cb preCB = m_clientManager->getPreCB(); if (preCB) { preCB(); } #endif // Get a new request. RequestContext request = m_clientManager->createRequest(false); // Encode the request. Codec * codec = request.getCodec(); if (codec == NULL) { err = kErpcStatus_MemoryError; } else { codec->startWriteMessage(message_type_t::kInvocationMessage, m_serviceId, m_fileWriteEndId, request.getSequence()); // Send message to server // Codec status is checked inside this function. m_clientManager->performRequest(request); codec->read(result); err = codec->getStatus(); } // Dispose of the request. m_clientManager->releaseRequest(request); // Invoke error handler callback function m_clientManager->callErrorHandler(err, m_fileWriteEndId); #if ERPC_PRE_POST_ACTION pre_post_action_cb postCB = m_clientManager->getPostCB(); if (postCB) { postCB(); } #endif if (err != kErpcStatus_Success) { result = -1; } return result; } // file_service interface fileWriteAbort function client shim. int32_t file_service_client::fileWriteAbort(void) { erpc_status_t err = kErpcStatus_Success; int32_t result; #if ERPC_PRE_POST_ACTION pre_post_action_cb preCB = m_clientManager->getPreCB(); if (preCB) { preCB(); } #endif // Get a new request. RequestContext request = m_clientManager->createRequest(false); // Encode the request. Codec * codec = request.getCodec(); if (codec == NULL) { err = kErpcStatus_MemoryError; } else { codec->startWriteMessage(message_type_t::kInvocationMessage, m_serviceId, m_fileWriteAbortId, request.getSequence()); // Send message to server // Codec status is checked inside this function. m_clientManager->performRequest(request); codec->read(result); err = codec->getStatus(); } // Dispose of the request. m_clientManager->releaseRequest(request); // Invoke error handler callback function m_clientManager->callErrorHandler(err, m_fileWriteAbortId); #if ERPC_PRE_POST_ACTION pre_post_action_cb postCB = m_clientManager->getPostCB(); if (postCB) { postCB(); } #endif if (err != kErpcStatus_Success) { result = -1; } return result; }