/** * @file reHDD.h * @brief represent * @author hendrik schutter * @date 01.05.2020 */ #ifndef REHDD_H_ #define REHDD_H_ #define DRYRUN #define WORSE_HOURS 19200 //mark drive if at this limit or beyond #define WORSE_POWERUP 4000 //mark drive if at this limit or beyond #define SHRED_ITERATIONS 1 #define READ 0 #define WRITE 1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #include "drive.h" #include "smart.h" #include "shred/shred.h" #include "delete.h" #include "tui.h" template T* iterator_to_pointer(I i) { return (&(*i)); } class reHDD { protected: public: reHDD(void); void app_logic(); private: static void searchDrives(vector * pvecDrives); static void printDrives(vector * pvecDrives); static void filterIgnoredDrives(vector * pvecDrives); static void filterNewDrives(vector * pvecOldDrives, vector * pvecNewDrives); static void addSMARTData(vector * pvecDrives); static void ThreadScannDevices(); static void ThreadUserInput(); static void ThreadShred(); static void handleArrowKey(TUI::UserInput userInput); static void handleEnter(); static void handleESC(); static void handleAbort(); static void checkShredComplete(vector * pvecDrives); static Drive* getSelectedDrive(); }; #endif // REHDD_H_