X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOGimmick.h;h=4e7ec07efaeb9f3fa9a69685e572791105ea14f3;hb=e4a54c9026a2a0c17e3be0b5915c34688a9385ad;hp=fa39035eb24c698ae57be8e938c20fbd1c63f0d7;hpb=cc5a912f64e8de1f90d9ef0956633515a46d31ae;p=creaImageIO.git diff --git a/src2/creaImageIOGimmick.h b/src2/creaImageIOGimmick.h index fa39035..4e7ec07 100644 --- a/src2/creaImageIOGimmick.h +++ b/src2/creaImageIOGimmick.h @@ -3,8 +3,8 @@ #include #include -#include -#include +#include +#include namespace creaImageIO { @@ -36,7 +36,7 @@ namespace creaImageIO //======================================================================= /// Central controler of the gimmick application - class Gimmick + class CREAIMAGEIO_EXPORT Gimmick { public: /// Ctor @@ -58,12 +58,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& path); /// Finalize (closes databases, etc.) void Finalize(); @@ -80,8 +82,7 @@ namespace creaImageIO 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, @@ -91,53 +92,79 @@ namespace creaImageIO void AddDir(const std::string& handler, const std::string& path, bool recurse); - ///Synchronizes the loaded data with the database. If remove is true the database will be updated, otherwise + /// Removes a file from the given TreeHandler + 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 ); + + + ///Synchronizes the loaded data with the database d. If repair is true the database will be updated, otherwise ///only a warning sign will be issued - void Synchronize(bool update, TreeHandler* handler); + std::string Synchronize(const std::string& d, 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(std::string &i_name, std::string &i_locDesc, std::string &i_locDB); + ///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(std::string &i_nameDB, std::string &i_locationDB); + /// 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; } - + ///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; + TreeHandlerMapType mTreeHandlerMap; Synchronizer* mSynchronizer; std::string mCurrentDirectory; std::string mHomeDirectory; std::string mUserSettingsDirectory; std::string mLocalDatabasePath; - std::string mTimestampDatabasePath; - + Settings *mSettings; TreeHandlerImageAdder mImageAdder; }; // EO class Gimmick