#ifndef MISSION_TMTC_PERSISTENTSINGLETMSTORETASK_H_ #define MISSION_TMTC_PERSISTENTSINGLETMSTORETASK_H_ #include <fsfw/objectmanager/SystemObject.h> #include <fsfw/tasks/ExecutableObjectIF.h> #include <mission/tmtc/PersistentTmStoreWithTmQueue.h> #include <mission/tmtc/TmStoreTaskBase.h> #include <mission/tmtc/VirtualChannel.h> class PersistentSingleTmStoreTask : public TmStoreTaskBase, public ExecutableObjectIF { public: PersistentSingleTmStoreTask(object_id_t objectId, StorageManagerIF& ipcStore, PersistentTmStoreWithTmQueue& storeWithQueue, VirtualChannel& channel, Event eventIfDumpDone, SdCardMountedIF& sdcMan); ReturnValue_t performOperation(uint8_t opCode) override; private: PersistentTmStoreWithTmQueue& storeWithQueue; DumpContext dumpContext; Countdown tcHandlingCd = Countdown(400); bool initStoresIfPossible(); }; #endif /* MISSION_TMTC_PERSISTENTSINGLETMSTORETASK_H_ */