/* * 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(int family_code_param, std::string device_id_param, dirent *direntry_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_raw_value() = 0; std::string get_formatted_value(); virtual std::string get_unit() = 0; virtual std::string get_device_type() = 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_value(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_ */