2022-07-29 15:53:39 +02:00
|
|
|
#ifndef FSFW_TCDISTRIBUTION_CCSDSUNPACKER_H
|
|
|
|
#define FSFW_TCDISTRIBUTION_CCSDSUNPACKER_H
|
|
|
|
|
2022-07-29 16:32:50 +02:00
|
|
|
#include "fsfw/storagemanager/StorageManagerIF.h"
|
2022-07-29 15:53:39 +02:00
|
|
|
#include "fsfw/tasks/ExecutableObjectIF.h"
|
|
|
|
#include "fsfw/tmtcservices/AcceptsTelecommandsIF.h"
|
|
|
|
|
2022-07-29 15:54:17 +02:00
|
|
|
class CcsdsUnpacker : public ExecutableObjectIF, public AcceptsTelecommandsIF {
|
2022-07-29 15:53:39 +02:00
|
|
|
public:
|
2022-07-29 16:32:50 +02:00
|
|
|
CcsdsUnpacker(MessageQueueIF& msgQueue, AcceptsTelecommandsIF& receiver, StorageManagerIF& sourceStore);
|
|
|
|
|
|
|
|
void setDifferentTargetStore(StorageManagerIF& otherTargetStore);
|
2022-07-29 15:53:39 +02:00
|
|
|
ReturnValue_t performOperation(uint8_t operationCode) override;
|
2022-08-01 11:00:36 +02:00
|
|
|
uint32_t getIdentifier() const override;
|
|
|
|
MessageQueueId_t getRequestQueue() const override;
|
2022-07-29 15:53:39 +02:00
|
|
|
|
|
|
|
private:
|
2022-07-29 16:32:50 +02:00
|
|
|
StorageManagerIF& sourceStore;
|
|
|
|
StorageManagerIF* targetStore = nullptr;
|
|
|
|
MessageQueueIF& msgQueue;
|
|
|
|
AcceptsTelecommandsIF& receiver;
|
2022-07-29 15:53:39 +02:00
|
|
|
};
|
|
|
|
#endif // FSFW_TCDISTRIBUTION_CCSDSUNPACKER_H
|