#define __creaImageIOGimmick_h_INCLUDED__
#include <creaImageIOSQLiteTreeHandler.h>
+#include <creaImageIOTreeHandlerImageAdder.h>
namespace creaImageIO
{
/// Dtor
~Gimmick();
+ ///
+ typedef TreeHandlerImageAdder::Progress AddProgress;
+ typedef TreeHandlerImageAdder::ProgressCallbackType AddProgressCallbackType;
+
+ /// Adds the function f to the list of functions to call
+ /// when addition operations progres.
+ /// f is of type AddProgressCallbackType which is:
+ /// void (*AddProgressCallbackType)(AddProgress&)
+ /// To pass a member function 'f' of an instance 'c' of a class 'C'
+ /// as callback you have to 'bind' it, i.e. call:
+ /// ConnectAddProgressObserver ( boost::bind( &C::f , c, _1 ) );
+ void ConnectAddProgressObserver( AddProgressCallbackType callback )
+ { mImageAdder.ConnectProgressObserver(callback); }
+
+
+ ///
+ const AddProgress& GetAddProgress() const { return mImageAdder.GetProgress(); }
+
/// Initialize (read/creates databases, etc.)
void Initialize();
{ return mTreeHandlerMap; }
- /// Add a file to the given TreeHandler
- void AddFile(const std::string& handler, const std::string& filename);
+ /// Add the files to the given TreeHandler
+ void AddFiles(const std::string& handler,
+ const std::vector<std::string>& filenames);
+
/// Add a dir to the given TreeHandler
void AddDir(const std::string& handler, const std::string& path,
bool recurse);
void CreateUserSettingsDirectory();
const std::string& GetLocalDatabasePath();
+
+ //=============================================
private:
SQLiteTreeHandler* mLocalDatabase;
TreeHandlerMapType mTreeHandlerMap;
std::string mHomeDirectory;
std::string mUserSettingsDirectory;
std::string mLocalDatabasePath;
-
+
+ TreeHandlerImageAdder mImageAdder;
};
// EO class Gimmick
//=======================================================================