#ifndef NVME_MONITOR_H #define NVME_MONITOR_H #include #include #include struct TemperatureData { double temperature; std::string device; std::string sensorName; long timestamp; }; class NvmeMonitor { public: explicit NvmeMonitor(); // Get list of available NVMe devices std::vector getAvailableDevices(); // Read temperatures from a specific device std::map readTemperatures(const std::string &device); // Get all available devices and their temperatures std::map> getAllTemperatures(); private: std::vector scanDevices(); std::map findHwmonDevices(); double readTemperatureFromFile(const std::string &filePath); }; #endif // NVME_MONITOR_H