#include "CfdpUser.h" #include using namespace returnvalue; namespace cfdp { EiveUserHandler::EiveUserHandler(HasFileSystemIF& vfs, StorageManagerIF& ipcStore, MessageQueueId_t cfdpRequestId) : cfdp::UserBase(vfs), userQueue(QueueFactory::instance()->createMessageQueue(10)) { if (userQueue == nullptr) { sif::error << "EiveUserHandler: Queue creation failed" << std::endl; return; } userQueue->setDefaultDestination(cfdpRequestId); reservedMsgParser = new ReservedMessageParser(ipcStore, *userQueue, cfdpRequestId); } EiveUserHandler::~EiveUserHandler() { QueueFactory::instance()->deleteMessageQueue(userQueue); } void EiveUserHandler::transactionIndication(const cfdp::TransactionId& id) {} void EiveUserHandler::eofSentIndication(const cfdp::TransactionId& id) {} void EiveUserHandler::transactionFinishedIndication(const cfdp::TransactionFinishedParams& params) { sif::info << "File transaction finished for transaction with " << params.id << std::endl; } void EiveUserHandler::metadataRecvdIndication(const cfdp::MetadataRecvdParams& params) { sif::info << "Metadata received for transaction with " << params.id << std::endl; if (params.numberOfMsgsToUser > 0 and params.msgsToUserArray != nullptr) { ReturnValue_t result = reservedMsgParser->parse(params.msgsToUserArray, params.numberOfMsgsToUser); if (result != OK) { sif::warning << "EiveUserHandler: Parsing reserved CFDP messages failed" << std::endl; } } } void EiveUserHandler::fileSegmentRecvdIndication(const cfdp::FileSegmentRecvdParams& params) {} void EiveUserHandler::reportIndication(const cfdp::TransactionId& id, cfdp::StatusReportIF& report) {} void EiveUserHandler::suspendedIndication(const cfdp::TransactionId& id, cfdp::ConditionCode code) { } void EiveUserHandler::resumedIndication(const cfdp::TransactionId& id, size_t progress) {} void EiveUserHandler::faultIndication(const cfdp::TransactionId& id, cfdp::ConditionCode code, size_t progress) {} void EiveUserHandler::abandonedIndication(const cfdp::TransactionId& id, cfdp::ConditionCode code, size_t progress) {} void EiveUserHandler::eofRecvIndication(const cfdp::TransactionId& id) { sif::info << "EOF PDU received for transaction with " << id << std::endl; } } // namespace cfdp