]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOSynchron.h
Remove timestamp_database and timestamp files (now management only with maintenance_d...
[creaImageIO.git] / src2 / creaImageIOSynchron.h
index 9b7333c4a8f3be57739bac2b7c0bb42bc1ccb8a9..fde9f2d21afb090d69978ab69cbe375f54667b97 100644 (file)
@@ -11,13 +11,19 @@ namespace creaImageIO
 {
        using namespace std;
    //================================================================================================================
+       ///Represents the list of currently added files
     class AddList
     {
       public :
+                 ///Key to be added into the database
               std::string key;
+                         ///Path of the directory
               std::string path;
+                         /// Defines if the operation was recursive or not
               std::string recursive;
+                         ///Number of added files
               std::string nbFiles;
+                         ///Ctor
               AddList(CppSQLite3Query& res):
                          key(res.getStringField(0)), 
                          path(res.getStringField(1)),
@@ -28,14 +34,19 @@ namespace creaImageIO
    //================================================================================================================
 
    //================================================================================================================
+       ///Represents the list of currently removed files
        class RemoveList
     {
       public :
+                 ///Key to be added into the database
               std::string key;
+                         ///Path of the remove file
               std::string path;
+                         ///Defines if the file was removed or not
               std::string remove;
+                         ///Time of the last change of the file
               std::string time;
-             
+             ///Ctor
               RemoveList(CppSQLite3Query& res):
                          key(res.getStringField(1)), 
                          path(res.getStringField(2)),
@@ -46,47 +57,76 @@ namespace creaImageIO
    //================================================================================================================
   
    //================================================================================================================
+       ///In charge of the synchronization of the database and the disk state.
     class Synchronizer
     {
       public:
+                 ///Ctor
               Synchronizer(const std::string& path);
+                         ///Dtor
               virtual ~Synchronizer();
+                         ///Initializes the database
                          void Initialize();
+                         ///Inserts an add operation to the database
                          void InsertAddOp(const std::string& path, 
                                                        const std::string& recursive,
                                                        const std::string& nChildren, 
                                                        const std::string& refdb);
+                         ///Inserts a file to be ignored
                          void InsertIgnoreFile(const std::string& addKey,
                                                        const std::string& path, 
                                                        const std::string& remove,
                                                        const std::string& time,
                                                        const std::string& refdb);
+                         ///Removes an entry that matches the given parameter
                          void RemoveEntry(const std::string i_table, const std::string i_key);
+                         ///Removes several entries
+                         void RemoveEntries(const std::string i_table, 
+                                                                                       const std::string i_attribute, 
+                                                                                       const std::string i_operand, 
+                                                                                       const std::string i_key);
+                         ///Gets the list of AddFiles
                          void GetFileList(std::vector<AddList>& files , const std::string& refdb);
+                         ///Gets the list of ignored files
                          void GetIgnoredFiles(const std::string& key, std::vector<std::string> &ignoreList);
+                         ///Gets the attribute that matches the parameters
                          std::string GetAttribute(const std::string& attribute, 
                                                                                const std::string& table, 
                                                                                const std::string& searchParam,
                                                                                const std::string& searchValue,
                                                                                const std::string& refdb);
+                         ///Sets an attribute to an entry that matches the given parameters
                          void SetAttribute(const std::string& attribute, 
                                                                                const std::string& table, 
                                                                                const std::string& value,
                                                                                const std::string& searchParam,
                                                                                const std::string& searchValue, 
                                                                                const std::string& refdb);
+                         // Get the List of indexed files (removed or not)
+                         void GetList();
+                         // Test to not if a file is indexed on db or not
+                         bool isIndexed(const std::string filename);
+                         // List of all indexed files
+                         std::map <std::string, bool> mList;
+                         ///The current AddList
               std::vector<AddList>  mAddList;
+                         ///The current RemoveList
               std::vector<RemoveList>  mIgnoreList;
       private :
              
               /// The DB
               CppSQLite3DB* mDB;
+                         ///Path of the current database
               std::string pathDB;
+                         ///Creates a new database
               void CreateDB();
+                         ///Updates the AddList
               void UpdateAddList(const std::string& refdb);
+                         ///Cleans the list in case operations are no longer useful (0 added files)
               void CleanList(const std::string& refdb);
+                         ///Cleans the name (changes slashes and backslashes according to the system)
                          void CleanName(std::string& str) const;
-       
+                         ///Gets the ignore list
                      std::vector<std::string> GetIgnoreList(const std::string &i_key);
 
     };
@@ -95,4 +135,5 @@ namespace creaImageIO
        
 } 
 // EOF
-#endif
\ No newline at end of file
+#endif
+