/** * @file drive.h * @brief represent physical drive * @author hendrik schutter * @date 01.05.2020 */ #ifndef DRIVE_H_ #define DRIVE_H_ #include "reHDD.h" class Drive { protected: public: Drive(string path) { this->sPath = path; } string getPath(void); string getModelFamily(void); string getModelName(void); string getSerial(void); uint64_t getCapacity(void); //in byte uint32_t getErrorCount(void); uint32_t getPowerOnHours(void); //in hours uint32_t getPowerCycles(void); void setDriveSMARTData( string modelFamily, string modelName, string serial, uint64_t capacity, uint32_t errorCount, uint32_t powerOnHours, uint32_t powerCycles); string sCapacityToText(); private: string sPath; string sModelFamily; string sModelName; string sSerial; uint64_t u64Capacity = 0U; //in byte uint32_t u32ErrorCount = 0U; uint32_t u32PowerOnHours = 0U; //in hours uint32_t u32PowerCycles = 0U; uint32_t u32ShredPercentage = 0U; //in percent }; #endif // DRIVE_H_