#include <creaImageIOSQLiteTreeHandler.h>
#include <creaImageIOTreeHandlerImageAdder.h>
-#include <creaImageIOTimestampDatabaseHandler.h>
#include <creaImageIOSynchron.h>
+#include <creaImageIOSettings.h>
namespace creaImageIO
{
//=======================================================================
/// Central controler of the gimmick application
- class Gimmick
+ class CREAIMAGEIO_EXPORT Gimmick
{
public:
/// Ctor
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();
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,
/// Removes a file from the given TreeHandler
void RemoveFile(const std::string& d,
- const tree::Node* & filename);
+ tree::Node* filename);
- ///Synchronizes the loaded data with the database. If remove is true the database will be updated, otherwise
+ ///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<std::string>& 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
- std::string Synchronize(bool repair, bool checkAttributes);
+ 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<std::string>& params,
+ std::vector<std::string>& 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