X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=src%2FW1Device.hh;h=e5de6d971cd0f0b9e233ea883e061fde3a56202f;hb=af341b7dfafac0912f513879565ebd856aa77915;hp=97d0da9582ff1e55d5e5b0c53895885c565eea1a;hpb=5c90b2e54752b52c8e5851df68ab9d9063c52ffd;p=lib1wire.git diff --git a/src/W1Device.hh b/src/W1Device.hh index 97d0da9..e5de6d9 100644 --- a/src/W1Device.hh +++ b/src/W1Device.hh @@ -14,6 +14,8 @@ #include #include +#include "Data.hh" + #ifndef W1_SCAN_ROOTDIR #define W1_SCAN_ROOTDIR "/sys/bus/w1/devices" #endif @@ -25,30 +27,32 @@ namespace w1 { class W1Device { public: - W1Device(dirent *direntry, int family_code_param, std::string id_param); + W1Device(int family_code_param, + std::string device_id_param, + dirent *direntry_param); virtual ~W1Device(); - int get_family_code(); + int get_w1_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 std::string get_device_type() = 0; + plp::Data *get_and_collect_data(); + virtual void save_data(); 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; + virtual std::vector *get_raw_data() = 0; + virtual unsigned int get_data_decimal_precision() = 0; + void collect_data(plp::Data *data); + std::string to_string(double val, int digit_count); + //Data *get_formatted_data(Data *data); + virtual bool is_supported_w1_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: + std::list memory_cache; }; }