]> pilppa.org Git - lib1wire.git/blobdiff - src/Data.hh
Refactoring and fixes.
[lib1wire.git] / src / Data.hh
index 8a8a28a831dc6ff13dc945a1daf63f10d424f302..196cf3bbd3f096eaaba0133193de084cb9457e7c 100644 (file)
@@ -18,37 +18,44 @@ 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();
                        Data *clone();
-                       plp::Date get_date();
-                       void set_date(plp::Date date);
                        void printout();
-                       static Data *parse_data_string(const std::string& dataline);
+                       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;
        };
 }