Public Member Functions | Private Member Functions | Private Attributes

creaImageIO::Settings Class Reference

#include <creaImageIOSettings.h>

List of all members.

Public Member Functions

 Settings (const std::string i_path)
 ~Settings ()
const std::string getValue (const std::string i_key)
void addDB (const std::string &i_path)
void removeDB (const std::string &i_path)
void updateSetting (const std::string &key, const std::string &val)
void writeSettingsFile ()

Private Member Functions

void readSettings (std::vector< std::string > &i_Keys, const std::string &i_file)
void createFile ()
void writeSettings (std::ofstream &o_filebuf)

Private Attributes

std::map< std::string,
std::string > 
m_SettingsMap
std::string m_SettingsFileName

Detailed Description

Definition at line 16 of file creaImageIOSettings.h.


Constructor & Destructor Documentation

creaImageIO::Settings::Settings ( const std::string  i_path  ) 

Definition at line 19 of file creaImageIOSettings.cpp.

References createFile(), m_SettingsFileName, readSettings(), SETTINGS_COPY_PATH, SETTINGS_DBPATH, SETTINGS_OUTPUT_ASK, SETTINGS_OUTPUT_DIM, SETTINGS_REMOVE_PATIENT_DISPLAY, SETTINGS_SYNC_EVENT, and SETTINGS_SYNC_FREQ.

    {
        //need to position path in user directory first.
        m_SettingsFileName = i_path + "\\.creaImageIO\\share\\creaImageIO\\app.config";
        //Test if Settings File exist
        if(!boost::filesystem::exists(m_SettingsFileName) )
        {
            createFile();
        }
        std::ifstream ifs(m_SettingsFileName.c_str());
                std::string line;
                std::string sets;
            if (ifs.is_open())
                {
                        while (! ifs.eof() )
                        {
                                getline(ifs,line);
                                sets += line;
                        }
                        ifs.close();
                }
        std::vector<std::string> Keys;
                Keys.push_back(SETTINGS_SYNC_EVENT);
                Keys.push_back(SETTINGS_DBPATH);
                Keys.push_back(SETTINGS_SYNC_FREQ);
                Keys.push_back(SETTINGS_COPY_PATH);
                Keys.push_back(SETTINGS_REMOVE_PATIENT_DISPLAY);
                Keys.push_back(SETTINGS_OUTPUT_ASK);
                Keys.push_back(SETTINGS_OUTPUT_DIM);
                readSettings(Keys, sets);

    }

Here is the call graph for this function:

creaImageIO::Settings::~Settings (  ) 

Definition at line 52 of file creaImageIOSettings.cpp.

    {
        
    }


Member Function Documentation

void creaImageIO::Settings::addDB ( const std::string &  i_path  ) 

Definition at line 112 of file creaImageIOSettings.cpp.

References m_SettingsMap, and SETTINGS_DBPATH.

Referenced by creaImageIO::Gimmick::addDB().

        {
                if(m_SettingsMap[SETTINGS_DBPATH].find(i_path) == std::string::npos)
                {
                        m_SettingsMap[SETTINGS_DBPATH] += i_path + ";";
                }
        }

Here is the caller graph for this function:

void creaImageIO::Settings::createFile (  )  [private]

Definition at line 63 of file creaImageIOSettings.cpp.

References m_SettingsFileName, m_SettingsMap, and writeSettingsFile().

Referenced by Settings().

   {
       m_SettingsMap[SETTINGS_SYNC_FREQ] = "12";
       m_SettingsMap[SETTINGS_SYNC_EVENT] = "end";
       m_SettingsMap[SETTINGS_DBPATH] = "";
       m_SettingsMap[SETTINGS_DICOM_LIBRARY] = "gdcm";
           m_SettingsMap[SETTINGS_COPY_PATH] = m_SettingsFileName.substr(0,m_SettingsFileName.find_last_of('\\')+1)+"Copied files";
           m_SettingsMap[SETTINGS_REMOVE_PATIENT_DISPLAY] = "0";
           m_SettingsMap[SETTINGS_OUTPUT_ASK] ="true";
           m_SettingsMap[SETTINGS_OUTPUT_DIM] = "1";
       writeSettingsFile();
   }

Here is the call graph for this function:

Here is the caller graph for this function:

const std::string creaImageIO::Settings::getValue ( const std::string  i_key  )  [inline]

Definition at line 22 of file creaImageIOSettings.h.

References m_SettingsMap.

Referenced by creaImageIO::Gimmick::addDBSettings(), creaImageIO::Gimmick::CopyFiles(), and creaImageIO::Gimmick::GetSetting().

{return m_SettingsMap[i_key];}

Here is the caller graph for this function:

void creaImageIO::Settings::readSettings ( std::vector< std::string > &  i_Keys,
const std::string &  i_file 
) [private]

Definition at line 82 of file creaImageIOSettings.cpp.

References m_SettingsMap.

Referenced by Settings().

        {
                std::vector<std::string>::iterator it_key = i_Keys.begin();
                for(;  it_key< i_Keys.end(); ++it_key)
                {
                        size_t fpos = i_file.find(it_key->c_str());
                        size_t lpos = i_file.rfind(it_key->c_str());
                        if(fpos != std::string::npos && lpos != std::string::npos)
                        {
                                m_SettingsMap[it_key->c_str()] = i_file.substr(fpos + it_key->size(),lpos-fpos - it_key->size());
                        }
                }
        }

Here is the caller graph for this function:

void creaImageIO::Settings::removeDB ( const std::string &  i_path  ) 

Definition at line 126 of file creaImageIOSettings.cpp.

References m_SettingsMap, and SETTINGS_DBPATH.

        {
                boost::algorithm::replace_all(m_SettingsMap[SETTINGS_DBPATH],i_path + ";","");
        }

void creaImageIO::Settings::updateSetting ( const std::string &  key,
const std::string &  val 
)

Definition at line 102 of file creaImageIOSettings.cpp.

References m_SettingsMap.

Referenced by creaImageIO::Gimmick::UpdateSetting().

        {
                m_SettingsMap[key.c_str()] = val;
        }

Here is the caller graph for this function:

void creaImageIO::Settings::writeSettings ( std::ofstream &  o_filebuf  )  [private]

Definition at line 137 of file creaImageIOSettings.cpp.

References m_SettingsMap.

Referenced by writeSettingsFile().

        {
                std::map<std::string, std::string>::iterator it_map = m_SettingsMap.begin();
                std::stringstream st;
                for(; it_map != m_SettingsMap.end(); ++it_map)
                {
                        o_file << it_map->first.c_str();
                        o_file <<  it_map->second.c_str();
                        o_file << it_map->first.c_str();
                        o_file << std::endl;
                }
        }

Here is the caller graph for this function:

void creaImageIO::Settings::writeSettingsFile (  ) 

Definition at line 155 of file creaImageIOSettings.cpp.

References m_SettingsFileName, and writeSettings().

Referenced by createFile(), creaImageIO::Gimmick::UpdateSetting(), and creaImageIO::Gimmick::~Gimmick().

        {       
            std::ofstream ofs(m_SettingsFileName.c_str());
                ofs.clear();
                writeSettings(ofs);
                ofs.close();
        }  

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 42 of file creaImageIOSettings.h.

Referenced by createFile(), Settings(), and writeSettingsFile().

std::map<std::string, std::string> creaImageIO::Settings::m_SettingsMap [private]

The documentation for this class was generated from the following files: