X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkConfigurationFile.cxx;h=eb2e31f70b45332621bff1271024d7ca90c8469f;hb=5e6e754f059d5fb6b25b883f89f76333228ba5c4;hp=634d5172ea5335a88238dabfba9781535c932ad0;hpb=d6e2dea1b245ee5de3d7a0e1c9524629b524ee63;p=bbtk.git diff --git a/kernel/src/bbtkConfigurationFile.cxx b/kernel/src/bbtkConfigurationFile.cxx index 634d517..eb2e31f 100644 --- a/kernel/src/bbtkConfigurationFile.cxx +++ b/kernel/src/bbtkConfigurationFile.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkConfigurationFile.cxx,v $ Language: C++ - Date: $Date: 2008/02/14 09:32:54 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/03/10 06:24:12 $ + Version: $Revision: 1.13 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See doc/license.txt or @@ -29,6 +29,8 @@ #include // for getcwd #endif + + namespace bbtk { @@ -36,24 +38,23 @@ namespace bbtk /// Constructor ConfigurationFile::ConfigurationFile() { - // file separator -#if defined(_WIN32) - mFile_separator = "\\"; -#else - mFile_separator = "/"; -#endif + + mFile_separator = VALID_FILE_SEPARATOR; - // ==> Set system paths + // ==> Set system paths mBin_path = GetExecutablePath(); - mInstall_path = mBin_path + mFile_separator + ".."; +//EED mInstall_path = mBin_path + mFile_separator + ".."; + mInstall_path = mBin_path + "/.."; // The relative path to the doc folder (=BBTK_DOC_REL_PATH) mDoc_rel_path = BBTK_STRINGIFY_SYMBOL(BBTK_DOC_REL_PATH); // The path to the doc folder (=mInstall_path+"/"+mDoc_rel_path) - mDoc_path = mInstall_path + mFile_separator + mDoc_rel_path; +//EED mDoc_path = mInstall_path + mFile_separator + mDoc_rel_path; + mDoc_path = mInstall_path + "/" + mDoc_rel_path; // The relative path to the doc folder (=BBTK_BBS_REL_PATH) mBbs_rel_path = BBTK_STRINGIFY_SYMBOL(BBTK_BBS_REL_PATH); // The path to the bbs folder (=mInstall_path+"/"+mBbs_rel_path) - mBbs_path = mInstall_path + mFile_separator + mBbs_rel_path; +//EED mBbs_path = mInstall_path + mFile_separator + mBbs_rel_path; + mBbs_path = mInstall_path + "/" + mBbs_rel_path; // The relative path to the rsc folder (=BBTK_RSC_REL_PATH) // mRsc_rel_path = BBTK_STRINGIFY_SYMBOL(BBTK_RSC_REL_PATH); // The path to the rsc folder (=mInstall_path+"/"+mRsc_rel_path) @@ -61,37 +62,69 @@ namespace bbtk // The path to the bbtk data folder // Initialized to mInstall_path+"/"+BBTK_DATA_REL_PATH // But can be overriden by value read from bbtk_config.xml - mData_path = mInstall_path + mFile_separator + BBTK_STRINGIFY_SYMBOL(BBTK_DATA_REL_PATH); - //MessageManager::SetMessageLevel("Config",1); +//EED mData_path = mInstall_path + mFile_separator + BBTK_STRINGIFY_SYMBOL(BBTK_DATA_REL_PATH); + mData_path = mInstall_path + "/" + BBTK_STRINGIFY_SYMBOL(BBTK_DATA_REL_PATH); + + Utilities::replace( mBin_path , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + Utilities::replace( mInstall_path , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + Utilities::replace( mDoc_rel_path , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + Utilities::replace( mDoc_path , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + Utilities::replace( mBbs_path , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + Utilities::replace( mData_path , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + bbtkMessage("Config",1," ==> bin : '"< prefix : '"< doc : '"< bbs : '"< rsc : '"< data : '"< First we look for bbtk_config.xml in "." char buf[2048]; const char *currentDir = getcwd(buf, 2048); @@ -104,8 +137,11 @@ namespace bbtk // LG : throw an exception } - std::string configXmlFullPathName = currentDir + mFile_separator + "bbtk_config.xml"; - +// std::string configXmlFullPathName = currentDir + mFile_separator + "bbtk_config.xml"; + std::string configXmlFullPathName = currentDir ; + configXmlFullPathName += "/bbtk_config.xml"; + Utilities::replace( configXmlFullPathName , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + if ( Utilities::FileExists( configXmlFullPathName )) { bbtkMessage("Config",1, "ConfigurationFile : [" << configXmlFullPathName << @@ -122,7 +158,10 @@ namespace bbtk #elif defined(_WIN32) std::string str_home(getenv("USERPROFILE")); #endif - configXmlFullPathName = str_home + mFile_separator + ".bbtk/bbtk_config.xml"; +//EED configXmlFullPathName = str_home + mFile_separator + ".bbtk/bbtk_config.xml"; + configXmlFullPathName = str_home + "/.bbtk/bbtk_config.xml"; + Utilities::replace( configXmlFullPathName , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); + if (!Utilities::FileExists( configXmlFullPathName )) { // ==> Nothing found, we create bbtk_config.xml in ".bbtk" @@ -363,7 +402,7 @@ namespace bbtk void ConfigurationFile::Read(const std::string& filename) { - //std::cout << "=======================in ConfigurationFile::Read filename [" <error != eXMLErrorNone ) { - std::ostringstream str; - str << XMLNode::getError(res->error); - str << " [line " << res->nLine << ", col "<nColumn<<"] "; - str << " file "<bbs_paths = Get_bbs_paths(); + const std::vectorpackage_paths = Get_package_paths(); + + bbtkMessage("Help",level, "=============" << std::endl); + bbtkMessage("Help",level, "Configuration" << std::endl); + bbtkMessage("Help",level, "=============" << std::endl); + bbtkMessage("Help",level, "bbtk_config.xml : [" << config_xml_full_path << "]" << std::endl); + bbtkMessage("Help",level, "Documentation Path : [" << url << "]" << std::endl); + bbtkMessage("Help",level, "Data Path : [" << data_path << "]" << std::endl); + bbtkMessage("Help",level, "Temp Directory : [" << default_temp_dir << "]" << std::endl); + bbtkMessage("Help",level, "File Separator : [" << file_separator << "]" << std::endl); + + std::vector::const_iterator i; + + bbtkMessage("Help",level, "BBS Paths " << std::endl); + for (i = bbs_paths.begin(); i!=bbs_paths.end(); ++i ) + { + bbtkMessage("Help",level,"--- ["<<*i<<"]"<