#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
{
/**
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& path);
/// Finalize (closes databases, etc.)
void Finalize();
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;
/// 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,
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);
/// 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);
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;
};