]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOGimmick.cpp
Added synchronization
[creaImageIO.git] / src2 / creaImageIOGimmick.cpp
index a9080fd328223dfed6d5ac365a98c2483a065d16..9b8c9241db490176b75ec487b88d4078f3c64258 100644 (file)
@@ -35,7 +35,7 @@ namespace creaImageIO
     CreateUserSettingsDirectory();
     // Sets the current directory to the home dir
     mCurrentDirectory =  GetHomeDirectory();
-       mSynchronizer=0;
+       mSynchronizer= new Synchronizer(GetUserSettingsDirectory());
 
        std::string dbpath = GetLocalDatabasePath();
     // Create or open local database
@@ -276,8 +276,9 @@ namespace creaImageIO
  
     mImageAdder.SetTreeHandler(GetTreeHandler(d));
        mImageAdder.SetTimestampHandler(mTimestampDatabase);
+       mImageAdder.SetSynchronizer(mSynchronizer);
     mImageAdder.AddFiles(filenames);
-
+       
   }
   //========================================================================
 
@@ -292,28 +293,31 @@ namespace creaImageIO
        TreeHandler * handler=GetTreeHandler(d);
     mImageAdder.SetTreeHandler(handler);
        mImageAdder.SetTimestampHandler(mTimestampDatabase);
-    mImageAdder.AddDirectory(f,recurse);
-       //Synchronize(true, handler);
-    
+       mImageAdder.SetSynchronizer(mSynchronizer);
+    mImageAdder.AddDirectory(f,recurse);  
   }
 
   //========================================================================
 
   //========================================================================
-  void Gimmick::Synchronize(bool update, TreeHandler* handler)
+  void Gimmick::RemoveFile(const std::string& d, 
+         const tree::Node* & node)
   {
-         GimmickMessage(4,"Synchronizing. Update:"<<update<<std::endl);
-         if(mSynchronizer==0)
-         {
-                 mSynchronizer=new Synchronizer(handler);
-         }
-         else
-         {
-                 mSynchronizer->SetTreeHandler(handler);
-         }
-         mSynchronizer->Synchronize(update);
+         mImageAdder.SetSynchronizer(mSynchronizer);
+         mTimestampDatabase->RemoveNode("PATH",node);
+         mImageAdder.RemoveFile(node);
+  }
+  //========================================================================
 
+  //========================================================================
+  std::string Gimmick::Synchronize(bool repair, bool checkAttributes)
+  {
+         TreeHandler * handler=GetTreeHandler("Local database");
+         mImageAdder.SetTreeHandler(handler);
+         mImageAdder.SetTimestampHandler(mTimestampDatabase);
+         mImageAdder.SetSynchronizer(mSynchronizer);
+         return mImageAdder.Synchronize(repair, checkAttributes);
   }
 
   //========================================================================