]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOGimmick.cpp
Fixed a bug on destroying Gimmick
[creaImageIO.git] / src2 / creaImageIOGimmick.cpp
index 3213acabe760a9cd60259249f1820d18a86f163f..2ed5b0c72f115c9e4bbdb593b93e67cf57220c58 100644 (file)
@@ -13,6 +13,8 @@ namespace creaImageIO
     : mImageAdder(0)
   {    
     RegisterGimmickMessageTypes();
+       mSettings=0;
+       mSynchronizer=0;
   }
   //==============================================================
 
@@ -21,9 +23,15 @@ namespace creaImageIO
   //==============================================================
   Gimmick::~Gimmick()
   {
+        if(mSettings!=0)
+         {
          mSettings->writeSettingsFile();
       delete mSettings;
+         }
+         if(mSynchronizer!=0)
+         {
          delete mSynchronizer;
+         }
   }
   //==============================================================
   
@@ -325,6 +333,18 @@ namespace creaImageIO
 
   //========================================================================
  
+  void Gimmick::CopyFiles(const std::vector<std::string>& filenames, const std::string& d )
+  {
+         TreeHandler * handler=GetTreeHandler(d);
+         mImageAdder.SetCurrentDatabase(d);
+         mImageAdder.SetTreeHandler(handler);
+         mImageAdder.SetTimestampHandler(mTimestampDatabase);
+         mImageAdder.SetSynchronizer(mSynchronizer);
+         mImageAdder.CopyFiles(filenames, mSettings->getValue(SETTINGS_COPY_PATH));
+  }
+
+  //========================================================================
   std::string Gimmick::Synchronize(const std::string& d, bool repair, bool checkAttributes)
   {
          TreeHandler * handler=GetTreeHandler(d);