+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------
+*/
#include <creaImageIOGimmick.h>
-#include <creaImageIOSystem.h>
+
#include <boost/filesystem.hpp>
#include <boost/algorithm/string.hpp>
#endif
#include <creaImageIOGimmick.h>
+#if defined(_WIN32)
+#pragma warning(disable: 4996)
+#endif
+
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
: mImageAdder(0)
{
RegisterGimmickMessageTypes();
- mSettings=0;
- mSynchronizer=0;
+ mSettings = NULL;
+ mSynchronizer = NULL;
mLocalDescpName = "localdatabase_Descriptor.dscp";
- mLocalDBName = "Local database";
+ mLocalDBName = "Local database";
}
//==============================================================
//==============================================================
Gimmick::~Gimmick()
{
-
- if(mSettings!=0)
+ if(mSettings!=NULL)
{
mSettings->writeSettingsFile();
delete mSettings;
}
- if(mSynchronizer!=0)
+ if(mSynchronizer!=NULL)
{
delete mSynchronizer;
}
//==============================================================
void Gimmick::Initialize(const std::string i_namedescp, const std::string i_namedb)
{
- mLocalDescpName = i_namedescp;
- mLocalDBName = i_namedb;
+ mLocalDescpName = i_namedescp;
+ mLocalDBName = i_namedb;
Initialize();
}
CreateUserSettingsDirectory();
// Sets the current directory to the home dir
mCurrentDirectory = GetHomeDirectory();
- mSynchronizer= new Synchronizer(GetUserSettingsDirectory()+"share/creaImageIO/");
-
+ mSynchronizer= new Synchronizer( GetUserSettingsDirectory()+"share/creaImageIO/" );
mSettings = new Settings(mCurrentDirectory);
-
std::string dbpath = GetLocalDatabasePath();
-
// Create or open local database
std::string dpath= mCurrentDirectory + "/.creaImageIO/share/creaImageIO/" + mLocalDescpName;
-
boost::algorithm::replace_all( dpath,
INVALID_FILE_SEPARATOR ,
VALID_FILE_SEPARATOR);
mLocalDatabase = createDB(i_nameDB, dpath, dbpath);
// Add it to the TreeHandlerMap
mTreeHandlerMap[i_nameDB] = mLocalDatabase;
-
//Add additional DB from user Settings
addDBSettings();
}
GimmickError("ERROR CREATING '"<<i_locDB<<"'");
}
sqlTreeH->SetAttribute(0,"Name",i_name);
- }
- else
- {
+ } else {
/// Open and test it
GimmickDebugMessage(1,"Opening local database '" <<i_locDB<< "' " << std::endl);
++it)
{
delete it->second;
- }
- }
+ } // for
+ } // if
}
//==============================================================
{
if (mHomeDirectory.size()==0)
{
-#if defined(__GNUC__)
- mHomeDirectory = getenv("HOME");
-#elif defined(_WIN32)
+#if defined(_WIN32)
mHomeDirectory = getenv("USERPROFILE");
+#elif defined(__GNUC__)
+ mHomeDirectory = getenv("HOME");
#endif
}
return mHomeDirectory;
const std::vector<std::string>& filenames)
{
GimmickMessage(2,"Adding files to '"<<d<<"'"<<std::endl);
-
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(GetTreeHandler(d));
mImageAdder.SetSynchronizer(mSynchronizer);
void Gimmick::AddDir(const std::string& d, const std::string& f,
bool recurse)
{
- GimmickMessage(2,"Adding dir '"<<f<<"' to '"<<d<<"' recurse:"
- <<recurse<<std::endl);
-
+ GimmickMessage(2,"Adding dir '"<<f<<"' to '"<<d<<"' recurse:" <<recurse<<std::endl);
TreeHandler * handler=GetTreeHandler(d);
mImageAdder.SetCurrentDatabase(d);
mImageAdder.SetTreeHandler(handler);
{
std::map<std::string, std::string>::iterator it = map_attr.begin();
for(; it != map_attr.end(); it++)
+ {
i_res[it->first] = it->second;
- }
- else
- {
+ } // for
+ } else {
std::vector<std::string>::iterator it = i_attr.inside.begin();
- for(; it != i_attr.inside.end(); it++)
+ for(; it != i_attr.inside.end(); it++)
+ {
i_res[(*it)] = map_attr[(*it)];
- }
- }
+ } // for
+ } // if ALL
+ } // if size
}
{
if( mImageAdder.isAttributeExist((*it)) != "" ) // in DB
{
+printf("EED Gimmick::fillVectInfos inside %s\n",(*it).c_str());
infos.inside.push_back((*it));
- }
- else
- {
+ } else {
infos.outside.push_back((*it)); // Need to scan again the files
- }
- }
+printf("EED Gimmick::fillVectInfos outside %s\n",(*it).c_str());
+ } // if
+ } // for
}
const std::string Gimmick::getSummary()
return mess.str();
}
-}
\ No newline at end of file
+}