]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOGimmick.h
move directory
[creaImageIO.git] / src2 / creaImageIOGimmick.h
index 4b307eeacc7314ed509d1c15254e65b6c6c48091..017d153ce92e0f8f6f1705c6f65ea85843ac7501 100644 (file)
@@ -3,10 +3,42 @@
 
 #include <creaImageIOSQLiteTreeHandler.h>
 #include <creaImageIOTreeHandlerImageAdder.h>
-#include <creaImageIOTimestampDatabaseHandler.h>
 #include <creaImageIOSynchron.h>
 #include <creaImageIOSettings.h>
 
+
+
+#ifdef _DEBUG
+#include <crtdbg.h>
+#define DEBUG_NEW new(_NORMAL_BLOCK ,__FILE__, __LINE__)
+#else
+#define DEBUG_NEW new
+#endif
+// Only when asked
+/*
+#ifdef TRACKING_MEMORY_LEAKS
+#ifdef WIN32
+#pragma warning(disable : 4291)
+#endif
+
+void * operator new( size_t size, int line, const char *file );
+void * operator new[]( size_t size, int line, const char *file );
+void operator delete( void *p );
+void operator delete[]( void *p );
+
+#ifdef OMISCID_NEW
+#undef OMISCID_NEW
+#endif
+
+#define OMISCID_NEW new( __LINE__, __FILE__ )
+
+#else // TRACKING_MEMORY_LEAKS is not defined
+
+#define OMISCID_NEW new
+
+#endif*/
+
+
 namespace creaImageIO
 {
        /**
@@ -59,12 +91,14 @@ namespace creaImageIO
      void ConnectAddProgressObserver( AddProgressCallbackType callback )
     { mImageAdder.ConnectProgressObserver(callback); }
     
-
     ///
     const AddProgress& GetAddProgress() const { return mImageAdder.GetProgress(); }
 
-    /// Initialize (read/creates databases, etc.)
+    /// Initializes with default values (read/creates databases, etc.)
     void Initialize();
+
+       /// Initializes with the local database descriptor in the path given (read/creates databases, etc.)
+       void Initialize(const std::string namedescp, const std::string namedb = "Local Database");
     
     /// Finalize (closes databases, etc.)
     void Finalize();
@@ -75,14 +109,16 @@ namespace creaImageIO
     static void SetDebugMessageLevel(int level);
     
     /// Type of map from TreeHandler name to TreeHandler*
-    typedef std::map<std::string, TreeHandler*> TreeHandlerMapType;
+       typedef std::map<std::string, TreeHandler*> TreeHandlerMapType;
+
+       typedef std::map<std::string, TreeHandler*>::const_iterator ItTreeHandlerMap;
 
     /// Returns the TreeHandlerMap (ref)
     TreeHandlerMapType& GetTreeHandlerMap() { return mTreeHandlerMap; }
+       
     /// Returns the TreeHandlerMap (const ref)
     const TreeHandlerMapType& GetTreeHandlerMap() const
-    { return mTreeHandlerMap; }
-    
+    { return mTreeHandlerMap; }    
 
     /// Add the files to the given TreeHandler
     void AddFiles(const std::string& handler,
@@ -112,7 +148,7 @@ namespace creaImageIO
     void Print(const std::string& handler);
        
     ///create a DB from a given descriptor file and for a specific location
-    SQLiteTreeHandler *createDB(const std::string &i_name, 
+       SQLiteTreeHandler* createDB(const std::string &i_name, 
                                const std::string &i_locDesc, 
                                const std::string &i_locDB);
 
@@ -122,13 +158,10 @@ namespace creaImageIO
     /// Returns the TreeHandler with a given name
     TreeHandler* GetTreeHandler(const std::string& name) const;
 
-       /// Returns the TimestampDatabase
-       TimestampDatabaseHandler* GetTimestampDatabase() const;
-    /// 
-    SQLiteTreeHandler* GetLocalDatabase() { return mLocalDatabase; }
+       /// 
+       SQLiteTreeHandler* GetLocalDatabase() { return mLocalDatabase; }
 
-    const SQLiteTreeHandler* GetLocalDatabase() const 
-    { return mLocalDatabase; }
+    const SQLiteTreeHandler* GetLocalDatabase() const     { return mLocalDatabase; }
 
        ///Returns the given setting value for the given setting parameter
        void GetSetting(const std::string& name, std::string& value);
@@ -153,23 +186,23 @@ namespace creaImageIO
     const std::string& GetUserSettingsDirectory();
     void CreateUserSettingsDirectory();
     const std::string& GetLocalDatabasePath();
-       const std::string& GetTimestampDatabasePath();
+       
 
 
     //=============================================
   private:
-    SQLiteTreeHandler* mLocalDatabase;
-       TimestampDatabaseHandler* mTimestampDatabase;
-    TreeHandlerMapType mTreeHandlerMap;
+       SQLiteTreeHandler* mLocalDatabase;
+       TreeHandlerMapType mTreeHandlerMap;
        Synchronizer* mSynchronizer;
 
     std::string mCurrentDirectory;
     std::string mHomeDirectory;
     std::string mUserSettingsDirectory;
     std::string mLocalDatabasePath;
-       std::string mTimestampDatabasePath;
        Settings        *mSettings;
     TreeHandlerImageAdder mImageAdder;
+       std::string mLocalDBName;
+       std::string mLocalDescpName;
   };
   // EO class Gimmick
   //=======================================================================