]> pilppa.org Git - lib1wire.git/blobdiff - src/Factory.hh
better error handling in case where the device specific config file is missing
[lib1wire.git] / src / Factory.hh
index 415ce9584717c7cb23194fbaeb06c9c1b80deac3..c4adccb2e46c790a437c6ed41cb1f96b40522a78 100644 (file)
@@ -9,12 +9,13 @@
 #define FACTORY_HH_
 
 #include <string>
+#include <list>
 
 #include <dirent.h>
 
-#include "DeviceConfig.hh"
-#include "DeviceData.hh"
-#include "W1Device.hh"
+#include <plp/DeviceConfig.hh>
+#include <plp/DataReader.hh>
+#include <plp/Device.hh>
 
 #ifndef W1_SCAN_ROOTDIR
        #define W1_SCAN_ROOTDIR         "/sys/bus/w1/devices"
@@ -25,13 +26,16 @@ namespace w1 {
                public:
                        Factory();
                        virtual ~Factory();
-                       static W1Device *get_device(int family_code, std::string device_id, dirent *direntry_param);
-                       static std::list<W1Device *> get_device_list();
-                       static std::list<DeviceData *> get_device_data_list();
-                       static DeviceConfig *get_device_config(std::string device_id);
+                       static std::list<plp::Device *> get_device_list();
                private:
                        //int parse_family_code(std::string folder_name);
-                       static W1Device *create_device(dirent *direntry_param, int *err_code_param);
+                       static plp::Device *create_w1_device(int family_code_param, string device_id_param, string type_param, dirent *direntry_param);
+                       static plp::Device *create_w1_device(int family_code, std::string device_id, dirent *direntry_param);
+                       static plp::Device *create_w1_device(std::string device_type_param, std::string device_id_param);
+                       static plp::Device *create_w1_device(dirent *direntry_param, int *err_code_param);
+                       static std::list<plp::DataReader *> get_data_reader_list();
+                       static int get_family_code_by_device_type(std::string device_type_param);
+                       static std::string get_device_type_by_family_code(int family_code_param);
        };
 }