#include PlocUpdater::PlocUpdater() : commandActionHelper(this) { commandQueue = QueueFactory::instance()->createMessageQueue(QUEUE_SIZE); } PlocUpdater::~PlocUpdater() { } ReturnValue_t PlocUpdater::executeAction(ActionId_t actionId, MessageQueueId_t commandedBy, const uint8_t* data, uint32_t size) { if (state == BUSY) { return UPDATER_BUSY; } ReturnValue_t result = HasReturnvaluesIF::RETURN_FAILED; dumpData.address = 0; receivedDataSize = 0; timer.resetTimer(); switch (actionId) { case UPDATE_NVM0_A: break; case UPDATE_NVM0_B: break; case UPDATE_NVM1_A: break; case UPDATE_NVM1_B: break; dumpData.size = STRHandler::IMAGE_HEADER_SIZE; dumpData.memoryId = STRHandler::ASC_MID_IMAGE; result = commandActionHelper.commandAction(objects::STR_HANDLER, STRHandler::ASC_SEND_IMAGE_TC_ID, &dumpData); if (result != HasReturnvaluesIF::RETURN_OK) { return result; } state = EXPECT_IMAGE_SIZE; break; case FETCH_MIRU_DATA: dumpData.memoryId = STRHandler::ASC_MID_MASSMEMORY; dumpData.size = chunkSize; result = commandActionHelper.commandAction(objects::STR_HANDLER, STRHandler::ASC_MIRU_DUMP_DATA_TC_ID, &dumpData); if (result != HasReturnvaluesIF::RETURN_OK) { return result; } state = MIRU_DATA_REQUESTED; break; default: return INVALID_ACTION_ID; } return EXECUTION_FINISHED; } MessageQueueId_t PlocUpdater::getCommandQueue() const { return commandQueue.getId(); } PlocUpdater::prepare getCurrentMountPrefix