]> pilppa.org Git - lib1wire.git/blobdiff - src/W1Device.hh
Memory leak fixes.
[lib1wire.git] / src / W1Device.hh
index a9303030859cc5c0713ca48259f2cab36f4129b9..28d4d3852cf217fc17159e1a04698128e4ac0387 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <dirent.h>
 #include <stdbool.h>
+#include <pthread.h>
 
 #include <plp/Data.hh>
 #include <plp/DataReader.hh>
@@ -33,12 +34,12 @@ namespace w1 {
                        W1Device(std::string device_id_param,
                                std::string device_type_param,
                                dirent *direntry_param);
-                       virtual ~W1Device();
+                       ~W1Device();
                        std::string get_name();
                        void set_name(std::string name_param);
                        void printout();
                        plp::Data *get_data();
-                       plp::DataReader *get_device_data();
+                       const plp::DataReader *get_device_data();
                protected:
                        std::string dir_path;
                        std::string slave_file;
@@ -46,9 +47,10 @@ namespace w1 {
                        plp::DataReader *reader;
                        void save_and_clean_cache();
                        virtual std::vector<double> *get_raw_data() = 0;
-                       virtual unsigned int get_data_decimal_precision() = 0;
-                       void cache(plp::Data *data);
+                       virtual unsigned int get_data_decimal_precision() { return 1; }
+                       void cache(plp::Data *new_data);
                        std::string to_string(double val, int digit_count);
+                       pthread_mutex_t plock;
        };
 }