X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=src2%2FcreaImageIOGimmick.h;h=b316b1b5383ba2481ff57b2d593c21600bbf37a9;hb=852af4a5c6e97a6fc349126cf3370e27f89fe067;hp=93d982a99c10a12d940665891ec4c957f1596f35;hpb=66f2d68a504d06b45b4047bd7a445c11889b9fc0;p=creaImageIO.git diff --git a/src2/creaImageIOGimmick.h b/src2/creaImageIOGimmick.h index 93d982a..b316b1b 100644 --- a/src2/creaImageIOGimmick.h +++ b/src2/creaImageIOGimmick.h @@ -3,7 +3,9 @@ #include #include -#include +#include +#include +#include namespace creaImageIO { @@ -35,7 +37,7 @@ namespace creaImageIO //======================================================================= /// Central controler of the gimmick application - class Gimmick + class CREAIMAGEIO_EXPORT Gimmick { public: /// Ctor @@ -90,34 +92,51 @@ namespace creaImageIO void AddDir(const std::string& handler, const std::string& path, bool recurse); + /// Removes a file from the given TreeHandler + void RemoveFile(const std::string& d, + tree::Node* filename); + ///Synchronizes the loaded data with the database. If remove is true the database will be updated, otherwise ///only a warning sign will be issued - void Synchronize(bool update, TreeHandler* handler); + std::string Synchronize(bool repair, bool checkAttributes); /// Prints the tree handled by the 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, + const std::string &i_locDesc, + const std::string &i_locDB); + // 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; } const SQLiteTreeHandler* GetLocalDatabase() const { return mLocalDatabase; } - + // add DB from Settings file + void addDBSettings(); /// 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; Synchronizer* mSynchronizer; @@ -125,7 +144,8 @@ namespace creaImageIO std::string mHomeDirectory; std::string mUserSettingsDirectory; std::string mLocalDatabasePath; - + std::string mTimestampDatabasePath; + Settings *mSettings; TreeHandlerImageAdder mImageAdder; }; // EO class Gimmick