/** * @file smart.h * @brief read S.M.A.R.T values * @author hendrik schutter * @date 01.05.2020 */ #ifndef SMART_H_ #define SMART_H_ #include "reHDD.h" /** * @brief SMART data reader for drives * * Parses smartctl JSON output to extract: * - Device information (model, serial, capacity) * - Power statistics (hours, cycles) * - Temperature * - Critical sector counts (reallocated, pending, uncorrectable) * * Uses deterministic state machine parser for reliable multi-line JSON parsing. */ class SMART { protected: public: /** * @brief Read S.M.A.R.T. data from drive and populate Drive object * @param drive Pointer to Drive instance to populate with SMART data */ static void readSMARTData(Drive *drive); private: SMART(void); // Utility class - no instances }; #endif // SMART_H_