#include <creaImageIOSystem.h>
#include <boost/filesystem.hpp>
#include <boost/algorithm/string.hpp>
-
+//#include "io.h"
#ifndef PATH_MAX // If not defined yet : do it
# define PATH_MAX 2048
#endif
}
//==============================================================
+ //==============================================================
+ void Gimmick::Initialize(const std::string& path)
+ {
+ Initialize();
+ }
//==============================================================
void Gimmick::Initialize()
CreateUserSettingsDirectory();
// Sets the current directory to the home dir
mCurrentDirectory = GetHomeDirectory();
- mSynchronizer= new Synchronizer(GetUserSettingsDirectory());
+ mSynchronizer= new Synchronizer(GetUserSettingsDirectory()+"Shared/gimmick/");
mSettings = new Settings(mCurrentDirectory);
std::string dbpath = GetLocalDatabasePath();
// Create or open local database
- std::string dpath= mCurrentDirectory + "/.gimmick/localdatabase_Descriptor.txt";
+ std::string dpath= mCurrentDirectory + "/.gimmick/Shared/gimmick/localdatabase_Descriptor.txt";
boost::algorithm::replace_all( dpath,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
//Add additional DB from user Settings
addDBSettings();
- // Creates files and directories database
- mTimestampDatabase = new TimestampDatabaseHandler(GetTimestampDatabasePath());
- // Create or open local database
- if (! boost::filesystem::exists( GetTimestampDatabasePath() ) )
- {
- std::string mess = "Timestamp database '";
- mess += GetTimestampDatabasePath();
- mess += "' does not exist : creating it";
- GimmickMessage(1,mess<<std::endl);
-
- if ( ! mTimestampDatabase->Create() )
- {
- GimmickError("ERROR CREATING '"<<GetTimestampDatabasePath()<<"'");
- }
- }
- else
- {
- /// Open and test it
- GimmickMessage(1,"Opening Timestamp database '"
- <<GetTimestampDatabasePath()<<"' "
- <<std::endl);
- if ( ! mTimestampDatabase->Open() )
- {
- GimmickError("ERROR OPENING '"<<GetTimestampDatabasePath()<<"'");
- }
-
- }
-
}
///////////////////////////////////////////////////////////////////////
{
delete it->second;
}
- delete mTimestampDatabase;
}
//==============================================================
if (mLocalDatabasePath.size()==0)
{
mLocalDatabasePath = GetUserSettingsDirectory();
- mLocalDatabasePath += "local_database.sqlite3";
+ mLocalDatabasePath += "Shared/gimmick/local_database.sqlite3";
boost::algorithm::replace_all( mLocalDatabasePath,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
return mLocalDatabasePath;
}
- //================================================================
- //================================================================
- const std::string& Gimmick::GetTimestampDatabasePath()
- {
- if (mTimestampDatabasePath.size()==0)
- {
- mTimestampDatabasePath = GetUserSettingsDirectory();
- mTimestampDatabasePath += "timestamp_database.sqlite3";
- boost::algorithm::replace_all( mTimestampDatabasePath,
- INVALID_FILE_SEPARATOR ,
- VALID_FILE_SEPARATOR);
- }
- return mTimestampDatabasePath;
- }
//========================================================================
//========================================================================
boost::algorithm::replace_all( setDir,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
+ setDir+="Shared/";
+ boost::filesystem::create_directory( setDir );
+ setDir+="gimmick/";
+ boost::filesystem::create_directory( setDir );
setDir+="localdatabase_Descriptor.txt";
- //if(!boost::filesystem::is_regular_file(setDir)) //JPRX
+
if(!boost::filesystem::is_regular(setDir))
{
char name[PATH_MAX];
//EED int err = GetBinaryDirectory(name, PATH_MAX);
crea::System::GetAppPath(name,PATH_MAX);
+ std::cout<<name<<std::endl;
std::string path=name;
path=path.substr(0,path.size()-1);
path=path.substr(0,path.find_last_of("/"));
- path+="/data/localdatabase_Descriptor.txt";
+ //Creating directories
+ path+="/bin/Shared/gimmick/localdatabase_Descriptor.txt";
+ std::cout<<"From: "<<path<<std::endl;
+ std::cout<<"To: "<<setDir<<std::endl;
boost::algorithm::replace_all( path,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
return i->second;
}
- //========================================================================
- ///Returns the timestamp database handler
- TimestampDatabaseHandler* Gimmick::GetTimestampDatabase() const
- {
- return mTimestampDatabase;
- }
//========================================================================
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(GetTreeHandler(d));
- mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
- mImageAdder.AddFiles(filenames);
+ mImageAdder.AddFiles(filenames);
}
//========================================================================
TreeHandler * handler=GetTreeHandler(d);
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(handler);
- mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
mImageAdder.AddDirectory(f,recurse);
}
{
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetSynchronizer(mSynchronizer);
- mTimestampDatabase->RemoveNode("PATH",node,d);
mImageAdder.RemoveFile(node);
}
//========================================================================
TreeHandler * handler=GetTreeHandler(d);
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(handler);
- mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
mImageAdder.CopyFiles(filenames, mSettings->getValue(SETTINGS_COPY_PATH));
}
TreeHandler * handler=GetTreeHandler(d);
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(handler);
- mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
return mImageAdder.Synchronize(repair, checkAttributes);
}
TreeHandler * handler=GetTreeHandler(d);
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(handler);
- mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
mImageAdder.GetAttributes(params, filename, results);
}
mImageAdder.SetTreeHandler(it->second);
mImageAdder.DeleteDriveFromMainDB(drive);
}
- mImageAdder.SetTimestampHandler(mTimestampDatabase);
mImageAdder.SetSynchronizer(mSynchronizer);
mImageAdder.DeleteDriveFromOtherDB(drive);
}