X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOGimmick.h;h=13c2495ca645faf6ab1a7c2d766f1b4a0e0a11bb;hb=da80530068246081505e9649523d10e8da8e6acd;hp=6c3b1cc6e231754cced691044bd385d7009da19a;hpb=9b19229069b38b9b14563f427554fa7c8fd9ac6f;p=creaImageIO.git diff --git a/src2/creaImageIOGimmick.h b/src2/creaImageIOGimmick.h index 6c3b1cc..13c2495 100644 --- a/src2/creaImageIOGimmick.h +++ b/src2/creaImageIOGimmick.h @@ -3,10 +3,47 @@ #include #include -#include #include #include +#ifdef _RELWITHDEBINFO +#include +#define DEBUG_NEW new(_NORMAL_BLOCK ,__FILE__, __LINE__) +#else +#define DEBUG_NEW new +#endif + +#ifdef _DEBUG +#include +#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 +96,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 +114,13 @@ namespace creaImageIO static void SetDebugMessageLevel(int level); /// Type of map from TreeHandler name to TreeHandler* - typedef std::map TreeHandlerMapType; + typedef std::map 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, @@ -96,6 +134,10 @@ namespace creaImageIO void RemoveFile(const std::string& d, tree::Node* filename); + ///Deletes the given drive name from the databases + void DeleteDrive(const std::string& drive); + + /// Copies the files into the local directory void CopyFiles(const std::vector& filenames, const std::string& d ); @@ -108,49 +150,61 @@ 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); - // add an existent DB + /// add an existent DB void addDB(const std::string &i_nameDB, const std::string &i_locationDB); /// 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; } - // add DB from Settings file + ///Returns the given setting value for the given setting parameter + void GetSetting(const std::string& name, std::string& value); + + ///Updates the settings file + void UpdateSetting(const std::string& name, const std::string& value); + + /// add DB from Settings file void addDBSettings(); + ///Edits the field described by the name and key provided with the value given + void EditField(tree::Node* node, const std::string& d, const std::string& name, const std::string& key, const std::string& val); + + /// Returns the attributes in results described in params + void GetAttributes(const std::string& d, + const std::string& filename, + const std::vector& params, + std::vector& results); + /// const std::string& GetHomeDirectory(); 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 //=======================================================================