]> pilppa.org Git - lib1wire.git/blobdiff - src/Data.hh
Bug fix for counter device data saving.
[lib1wire.git] / src / Data.hh
index 3907a9b384a6631f963bef88dc60ed3112b8c404..90b0e47ad8b046688f0a020577e7de8df5818911 100644 (file)
@@ -11,7 +11,6 @@
 #include <string>
 #include <valarray>
 #include <vector>
-#include <hash_map>
 
 #include "Date.hh"
 
@@ -19,35 +18,45 @@ namespace w1 {
        class Data {
                public:
                        Data(int size);
-                       Data(int size, double default_value);
-                       Data(std::vector<double> vector_param, plp::Date *date_param);
-                       Data(std::valarray<double> value_arr_param, plp::Date *date_param);
+                       Data(int size, double default_value, std::string unit_param);
+                       Data(std::vector<double> *val_vector_param);
+                       Data(std::vector<double> *val_vector_param, std::string unit_param);
+                       Data(std::vector<double> *val_vector_param, plp::Date *date_param, std::string unit_param);
+                       Data(std::valarray<double> *val_arr_param, plp::Date *date_param);
                        virtual ~Data();
-                       plp::Date get_date();
-                       void set_date(plp::Date date);
+                       Data *clone();
                        void printout();
-                       static Data *parse_data_string(const std::string& dataline);
+                       std::string to_string(int dec_precision);
+                       std::string to_string();
+                       static Data *parse_string(const std::string& data_str);
+                       plp::Date get_date();
+                       void set_date(plp::Date *date_param);
+                       std::string get_unit();
                        std::valarray<double>   value_arr;
                private:
                        plp::Date               date_time;
+                       std::string             unit;
        };
 
        class DataRange {
                public:
-                       DataRange(Data data);
-                       DataRange(int value_count_per_data_item);
+                       DataRange(Data *data);
+                       DataRange(int item_count_per_value, std::string unit_param);
                        virtual ~DataRange();
-                       void add_data(Data data);
+                       void add_data(Data *data);
                        Data *get_data(int row_index);
                        Data *get_first_data();
                        Data *get_last_data();
                        int get_data_row_count();
                        int get_data_column_count();
+                       std::string get_unit();
+                       void printout();
                protected:
                        double                          *val_matrix;
                        std::vector<plp::Date *>        date_list;
                        int                             row_count;
                        int                             column_count;
+                       std::string                     unit;
        };
 }