#ifndef PATH_MAX // If not defined yet : do it
# define PATH_MAX 2048
#endif
-
-#ifdef _RELWITHDEBINFO
-#define new DEBUG_NEW
-#endif
-
-
+#include <creaImageIOGimmick.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
+
namespace creaImageIO
{
//==============================================================
//==============================================================
Gimmick::~Gimmick()
{
+
if(mSettings!=0)
{
mSettings->writeSettingsFile();
//==============================================================
void Gimmick::Initialize()
{
+printf("EED Gimmick::Initialize 1\n");
std::string i_nameDB = mLocalDBName;
// Create the UserSettings dir if does not exist
+printf("EED Gimmick::Initialize 1 A\n");
CreateUserSettingsDirectory();
+printf("EED Gimmick::Initialize 1 B\n");
// Sets the current directory to the home dir
mCurrentDirectory = GetHomeDirectory();
+ printf("EED Gimmick::Initialize 1 C\n");
mSynchronizer= new Synchronizer(GetUserSettingsDirectory()+"Shared/gimmick/");
+ printf("EED Gimmick::Initialize 1 D\n");
mSettings = new Settings(mCurrentDirectory);
+ printf("EED Gimmick::Initialize 1.1\n");
std::string dbpath = GetLocalDatabasePath();
+
// Create or open local database
std::string dpath= mCurrentDirectory + "/.gimmick/Shared/gimmick/" + mLocalDescpName;
+
boost::algorithm::replace_all( dpath,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
+ printf("EED Gimmick::Initialize 1.2\n");
mLocalDatabase = createDB(i_nameDB, dpath, dbpath);
+ printf("EED Gimmick::Initialize 1.3\n");
// Add it to the TreeHandlerMap
mTreeHandlerMap[i_nameDB] = mLocalDatabase;
//Add additional DB from user Settings
addDBSettings();
+ printf("EED Gimmick::Initialize 2\n");
}
///////////////////////////////////////////////////////////////////////
else
{
/// Open and test it
- GimmickMessage(1,"Opening local database '" <<i_locDB<< "' " << std::endl);
+
+ GimmickDebugMessage(1,"Opening local database '" <<i_locDB<< "' " << std::endl);
if ( !sqlTreeH->Open(true) )
{
GimmickError("ERROR OPENING '"<<i_locDB<<"'");
if (mLocalDatabasePath.size()==0)
{
mLocalDatabasePath = GetUserSettingsDirectory();
- mLocalDatabasePath += "Shared/gimmick/local_database.sqlite3";
+ mLocalDatabasePath += "Shared/gimmick/";
+ mLocalDatabasePath += mLocalDBName;
+ mLocalDatabasePath +=".sqlite3";
boost::algorithm::replace_all( mLocalDatabasePath,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
//========================================================================
void Gimmick::CreateUserSettingsDirectory()
{
+
+printf("EED Gimmick::CreateUserSettingsDirectory 1\n");
+ // std::string st("C:/Documents and Settings/cervenansky/.gimmick/");
+ // boost::algorithm::replace_all( st,
+ // INVALID_FILE_SEPARATOR ,
+ // VALID_FILE_SEPARATOR);
+ //const boost::filesystem::path mpath(st);
+//C:\Documents and Settings\cervenansky\.gimmick");
+ //if ( !boost::filesystem::exists( path ) ) return ;
+ // boost::filesystem::directory_iterator end_itr; // default construction yields past-the-end
+ // for ( boost::filesystem::directory_iterator itr( path ); itr != end_itr; ++itr )
+ // {
+ //// If is directory & recurse : do recurse
+ // if ( boost::filesystem::is_directory(itr->status()) )
+ // return;
+ // }
+
//JCP settings dir 02/10/2009
const std::string settingsdirectory = GetUserSettingsDirectory();
- bool isdir = boost::filesystem::is_directory( settingsdirectory );
+ //boost::algorithm::replace_all( mUserSettingsDirectory,
+ // INVALID_FILE_SEPARATOR ,
+ // VALID_FILE_SEPARATOR);
+;//("E:\frederic");
+ //("C:\\Documents and Settings\\cervenansky\\.gimmick\\"); // settingsdirectory );
+ bool isdir = false;
+ isdir = boost::filesystem::is_directory(settingsdirectory); // settingsdirectory );
if (! isdir )
{
GimmickMessage(1,"Directory '"<<GetUserSettingsDirectory()<<"' "
- << "does not exist : creating it"<<std::endl);
+ << "does not exist : creating it"<<std::endl);
+printf("EED Gimmick::CreateUserSettingsDirectory 2\n");
if ( ! boost::filesystem::create_directory( GetUserSettingsDirectory() ) )
{
GimmickError("ERROR CREATING '"<<GetUserSettingsDirectory()<<"'");
}
}
+printf("EED Gimmick::CreateUserSettingsDirectory 3\n");
std::string setDir=GetUserSettingsDirectory();
boost::algorithm::replace_all( setDir,
setDir+="gimmick/";
boost::filesystem::create_directory( setDir );
setDir+=mLocalDescpName;
+printf("EED Gimmick::CreateUserSettingsDirectory 5\n");
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;
// The following stuff works on Linux, NOT CHECKED on Windows // JPR
#if defined(_WIN32)
- path+="/bin/Shared/gimmick/";
- path+=mLocalDescpName;
-#else
- path+="/Shared/gimmick/";
- path+= mLocalDescpName;
-#endif
+ path+="/bin/share/gimmick/";
+ printf("EED Gimmick::CreateUserSettingsDirectory 01xxx\n");
+#endif
+
+#if defined (LINUX)
+ path+="/../share/gimmick/";
+ printf("EED Gimmick::CreateUserSettingsDirectory 03xxx\n");
+#endif
+#if defined(__APPLE__)
+ path+="/../../../../share/gimmick/";
+ printf("EED Gimmick::CreateUserSettingsDirectory 02xxx\n");
+#endif
+
+
+path+= mLocalDescpName;
+
std::cout <<"From: " << path <<std::endl;
std::cout <<"To: " << setDir <<std::endl;
boost::algorithm::replace_all( path,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
+printf("EED Gimmick::CreateUserSettingsDirectory 5.1 %s >>> %s \n", path.c_str(), setDir.c_str() );
+printf("EED Gimmick::CreateUserSettingsDirectory 5.1.1 %s \n", mLocalDescpName.c_str() );
boost::filesystem::copy_file(path,setDir);
+printf("EED Gimmick::CreateUserSettingsDirectory 5.2\n");
}
+printf("EED Gimmick::CreateUserSettingsDirectory 6\n");
+
}
//========================================================================