/* * W1Device.hh * * Created on: Oct 20, 2010 * Author: lamikr */ #ifndef W1DEVICE_HH_ #define W1DEVICE_HH_ #include #include #include #include #ifndef W1_SCAN_ROOTDIR #define W1_SCAN_ROOTDIR "/sys/bus/w1/devices" #endif #ifndef W1_SLAVE_FILE #define W1_SLAVE_FILE "w1_slave"; #endif namespace w1 { class W1Device { public: W1Device(dirent *direntry, int family_code_param, std::string id_param); virtual ~W1Device(); int get_family_code(); std::string get_id(); std::string get_name(); void set_name(std::string name_param); virtual std::string get_value() = 0; virtual std::string get_unit() = 0; virtual std::string get_devicetype_name() = 0; std::string get_time(); virtual void printout(); virtual void store(); protected: void add_to_memory_cache(std::string formatted_data); std::string get_formatted_data(); std::string get_formatted_data(std::string value); virtual bool is_supported_family_code(int family_code) = 0; int family_code; std::string id; std::string name; std::string dir_path; std::string slave_file; std::list memory_cache; private: }; } #endif /* W1DEVICE_HH_ */