: mImageAdder(0)
{
RegisterGimmickMessageTypes();
+ mSettings=0;
+ mSynchronizer=0;
}
//==============================================================
//==============================================================
Gimmick::~Gimmick()
{
+ if(mSettings!=0)
+ {
mSettings->writeSettingsFile();
delete mSettings;
+ }
+ if(mSynchronizer!=0)
+ {
delete mSynchronizer;
+ }
}
//==============================================================
{
GimmickMessage(2,"Adding files to '"<<d<<"'"<<std::endl);
+ mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(GetTreeHandler(d));
mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
<<recurse<<std::endl);
TreeHandler * handler=GetTreeHandler(d);
+ mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(handler);
mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
void Gimmick::RemoveFile(const std::string& d,
tree::Node* node)
{
+ mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetSynchronizer(mSynchronizer);
- mTimestampDatabase->RemoveNode("PATH",node);
+ mTimestampDatabase->RemoveNode("PATH",node,d);
mImageAdder.RemoveFile(node);
}
//========================================================================
//========================================================================
- std::string Gimmick::Synchronize(bool repair, bool checkAttributes)
+ void Gimmick::CopyFiles(const std::vector<std::string>& filenames, const std::string& d )
+ {
+ TreeHandler * handler=GetTreeHandler(d);
+ mImageAdder.SetCurrentDatabase(d);
+ mImageAdder.SetTreeHandler(handler);
+ mImageAdder.SetTimestampHandler(mTimestampDatabase);
+ mImageAdder.SetSynchronizer(mSynchronizer);
+ mImageAdder.CopyFiles(filenames, mSettings->getValue(SETTINGS_COPY_PATH));
+ }
+
+ //========================================================================
+
+ std::string Gimmick::Synchronize(const std::string& d, bool repair, bool checkAttributes)
{
- TreeHandler * handler=GetTreeHandler("Local database");
+ TreeHandler * handler=GetTreeHandler(d);
+ mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(handler);
mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
GetTreeHandler(d)->GetTree().Print();
}
//========================================================================
+
+ void Gimmick::GetSetting(const std::string& name, std::string& value)
+ {
+ value = mSettings->getValue(name);
+ }
+ //========================================================================
+
+ //========================================================================
+
+ void Gimmick::UpdateSetting(const std::string& name, const std::string& value)
+ {
+ mSettings->updateSetting(name,value);
+ mSettings->writeSettingsFile();
+ }
+ //========================================================================
+
+ void Gimmick::DeleteDrive(const std::string& drive)
+ {
+ for( TreeHandlerMapType::const_iterator it = mTreeHandlerMap.begin();
+ it!= mTreeHandlerMap.end(); ++it)
+ {
+ mImageAdder.SetTreeHandler(it->second);
+ mImageAdder.DeleteDriveFromMainDB(drive);
+ }
+ mImageAdder.SetTimestampHandler(mTimestampDatabase);
+ mImageAdder.SetSynchronizer(mSynchronizer);
+ mImageAdder.DeleteDriveFromOtherDB(drive);
+ }
+
+ //========================================================================
+ void Gimmick::EditField(tree::Node* node, const std::string& d, const std::string& name, const std::string& key, const std::string& val)
+ {
+ TreeHandler * handler=GetTreeHandler(d);
+ mImageAdder.SetCurrentDatabase(d);
+ mImageAdder.SetTreeHandler(handler);
+ mImageAdder.EditField(node,name,key,val);
+ }
+ //========================================================================
+
+
/////////////////////////////////////////////////////////////////////////
// add DB from Settings file //
// @param : - //