Robin Mueller
d50cbe9e5b
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
37 lines
1.0 KiB
C++
37 lines
1.0 KiB
C++
#ifndef MISSION_TMTC_TMSTORETASKBASE_H_
|
|
#define MISSION_TMTC_TMSTORETASKBASE_H_
|
|
|
|
#include <fsfw/timemanager/Countdown.h>
|
|
#include <mission/tmtc/PersistentTmStoreWithTmQueue.h>
|
|
#include <mission/tmtc/VirtualChannel.h>
|
|
|
|
class TmStoreTaskBase : public SystemObject {
|
|
public:
|
|
TmStoreTaskBase(object_id_t objectId, StorageManagerIF& ipcStore, VirtualChannel& channel,
|
|
SdCardMountedIF& sdcMan);
|
|
|
|
protected:
|
|
/**
|
|
* Handling for one store. Returns if anything was done.
|
|
* @param store
|
|
* @return
|
|
*/
|
|
bool handleOneStore(PersistentTmStoreWithTmQueue& store);
|
|
|
|
/**
|
|
* Occasionally check whether SD card is okay to be used. If not, poll whether it is ready to
|
|
* be used again and re-initialize stores. Returns whether store is okay to be used.
|
|
*/
|
|
bool cyclicStoreCheck();
|
|
|
|
virtual void initStoresIfPossible() = 0;
|
|
|
|
StorageManagerIF& ipcStore;
|
|
Countdown sdCardCheckCd = Countdown(800);
|
|
VirtualChannel& channel;
|
|
bool storesInitialized = false;
|
|
SdCardMountedIF& sdcMan;
|
|
};
|
|
|
|
#endif /* MISSION_TMTC_TMSTORETASKBASE_H_ */
|