]> pilppa.org Git - lib1wire.git/blobdiff - src/W1Device.hh
Refactoring and fixes.
[lib1wire.git] / src / W1Device.hh
index 73cd8f5ff7b65cfd50cee68a4cbdcc0dfdd8e57a..a702e0f728473166fa5550dc200fa4b41dad03fd 100644 (file)
@@ -14,6 +14,8 @@
 #include <dirent.h>
 #include <stdbool.h>
 
+#include "Data.hh"
+
 #ifndef W1_SCAN_ROOTDIR
 #define W1_SCAN_ROOTDIR                "/sys/bus/w1/devices"
 #endif
@@ -29,27 +31,28 @@ namespace w1 {
                                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_raw_data() = 0;
-                       std::string get_formatted_data();
                        virtual std::string get_unit() = 0;
                        virtual std::string get_device_type() = 0;
                        std::string get_time();
+                       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 raw_data);
-                       virtual bool is_supported_family_code(int family_code) = 0;
+                       virtual std::vector<double> *get_raw_data() = 0;
+                       void collect_data(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<std::string> memory_cache;
+                       std::list<w1::Data *> memory_cache;
                private:
        };
 }