#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(const std::string& i_namedescp, const std::string i_namedb)
+ void Gimmick::Initialize(const std::string i_namedescp, const std::string i_namedb)
{
mLocalDescpName = i_namedescp;
mLocalDBName = i_namedb;
mSettings = new Settings(mCurrentDirectory);
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);
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()
{
+
+ // 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);
if ( ! boost::filesystem::create_directory( GetUserSettingsDirectory() ) )
{
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;
#if defined(_WIN32)
path+="/bin/Shared/gimmick/";
- path+=mLocalDescpName;
-#else
- path+="/Shared/gimmick/";
- path+= mLocalDescpName;
-#endif
+#endif
+
+#if defined (LINUX)
+ path+="/../share/gimmick/";
+#endif
+#if defined(__APPLE__)
+ path+="/../../../../share/gimmick/";
+#endif
+
+
+path+= mLocalDescpName;
+
std::cout <<"From: " << path <<std::endl;
std::cout <<"To: " << setDir <<std::endl;
boost::algorithm::replace_all( path,
VALID_FILE_SEPARATOR);
boost::filesystem::copy_file(path,setDir);
}
+
}
//========================================================================