#pragma once #include "fsfw/ipc/MessageQueueIF.h" #include "fsfw/storagemanager/StorageManagerIF.h" namespace cfdp { /** * This class parses messages to user for special CFDP messages and converts them to appropriate * CFDP requests sent via the IPC store where applicable. It also provides an API to retrieve * custom messages which are not special CFDP messages from a provided bytestream. */ class ReservedMessageParser { public: ReservedMessageParser(StorageManagerIF& ipcStore, MessageQueueIF& msgQueue, MessageQueueId_t userDestination); ReturnValue_t parse(const uint8_t* msgsToUserPtr, size_t sizeOfMessages); private: MessageQueueIF& msgQueue; StorageManagerIF& ipcStore; MessageQueueId_t userDestination; }; } // namespace cfdp