Commit 11f5d56d authored by Pawel Sznajder's avatar Pawel Sznajder
Browse files

Merge branch 'new_channels_this_is_it' into 'master'

Partons v2

See merge request !3
parents 19899287 5be5e1c9
This diff is collapsed.
...@@ -42,6 +42,10 @@ public: ...@@ -42,6 +42,10 @@ public:
std::string getString(const std::string & section, const std::string & key); std::string getString(const std::string & section, const std::string & key);
std::string getString(const std::string & key); std::string getString(const std::string & key);
bool checkIfAvailable(const std::string & section,
const std::string & key) const;
bool checkIfAvailable(const std::string & key) const;
std::string getPropertiesFilePath() const; std::string getPropertiesFilePath() const;
private: private:
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
namespace ElemUtils { namespace ElemUtils {
/** /**
* @class IniFileParser * @class IniFileParser
* @brief * @brief
...@@ -39,9 +38,14 @@ public: ...@@ -39,9 +38,14 @@ public:
void parse(const std::string & configFilePath); void parse(const std::string & configFilePath);
std::map<std::string, std::string> getValues(); std::map<std::string, std::string> getValues();
std::string getString(const std::string & key); std::string getString(const std::string & key);
std::string getString(const std::string & section, const std::string & key); std::string getString(const std::string & section, const std::string & key);
bool checkIfAvailable(const std::string & section,
const std::string & key) const;
bool checkIfAvailable(const std::string & key) const;
const std::string& getFilePath() const; const std::string& getFilePath() const;
private: private:
...@@ -57,7 +61,7 @@ private: ...@@ -57,7 +61,7 @@ private:
void analyseValue(const std::string & fileLine, void analyseValue(const std::string & fileLine,
const std::string & sectionName); const std::string & sectionName);
std::string makeKey(const std::string & sectionName, std::string makeKey(const std::string & sectionName,
const std::string & key); const std::string & key) const;
}; };
} // namespace ElemUtils } // namespace ElemUtils
......
...@@ -72,6 +72,9 @@ public: ...@@ -72,6 +72,9 @@ public:
// Remove leading and trailing spaces from a string // Remove leading and trailing spaces from a string
static void trim(std::string &str, const std::string& whitespace = " \t"); static void trim(std::string &str, const std::string& whitespace = " \t");
// Remove all white spaces from a string
static void trimAll(std::string &str, const std::string& whitespace = " \t");
static unsigned int count(std::string str, static unsigned int count(std::string str,
const std::string & searchString); const std::string & searchString);
......
...@@ -60,6 +60,20 @@ std::string PropertiesManager::getString(const std::string & key) { ...@@ -60,6 +60,20 @@ std::string PropertiesManager::getString(const std::string & key) {
return m_iniFileParser.getString(key); return m_iniFileParser.getString(key);
} // mutex.unlock() } // mutex.unlock()
bool PropertiesManager::checkIfAvailable(const std::string & section,
const std::string & key) const {
sf::Lock lock(m_mutex); // mutex.lock()
return m_iniFileParser.checkIfAvailable(section, key);
} // mutex.unlock()
bool PropertiesManager::checkIfAvailable(const std::string & key) const {
sf::Lock lock(m_mutex); // mutex.lock()
return m_iniFileParser.checkIfAvailable(key);
} // mutex.unlock()
} // namespace ElemUtils } // namespace ElemUtils
std::string ElemUtils::PropertiesManager::getPropertiesFilePath() const { std::string ElemUtils::PropertiesManager::getPropertiesFilePath() const {
......
...@@ -122,7 +122,7 @@ void IniFileParser::analyseValue(const std::string & fileLine, ...@@ -122,7 +122,7 @@ void IniFileParser::analyseValue(const std::string & fileLine,
} }
std::string IniFileParser::makeKey(const std::string & sectionName, std::string IniFileParser::makeKey(const std::string & sectionName,
const std::string & key) { const std::string & key) const {
// if the section's name is empty then returns only the key // if the section's name is empty then returns only the key
// else returns the section name concatenated with the value of the key // else returns the section name concatenated with the value of the key
return (sectionName == StringUtils::EMPTY) ? return (sectionName == StringUtils::EMPTY) ?
...@@ -151,6 +151,15 @@ std::string IniFileParser::getString(const std::string & section, ...@@ -151,6 +151,15 @@ std::string IniFileParser::getString(const std::string & section,
<< "\" in file \"" << m_filePath << "\""); << "\" in file \"" << m_filePath << "\"");
} }
bool IniFileParser::checkIfAvailable(const std::string & section,
const std::string & key) const {
return (m_values.find(makeKey(section, key)) != m_values.end());
}
bool IniFileParser::checkIfAvailable(const std::string & key) const {
return (m_values.find(makeKey(StringUtils::EMPTY, key)) != m_values.end());
}
std::map<std::string, std::string> IniFileParser::getValues() { std::map<std::string, std::string> IniFileParser::getValues() {
return m_values; return m_values;
} }
......
...@@ -181,6 +181,15 @@ void StringUtils::trim(std::string &str, const std::string& whitespace) { ...@@ -181,6 +181,15 @@ void StringUtils::trim(std::string &str, const std::string& whitespace) {
} }
} }
void StringUtils::trimAll(std::string &str, const std::string& whitespace) {
std::string::const_iterator it;
for (it = whitespace.begin(); it != whitespace.end(); ++it) {
str.erase(std::remove(str.begin(), str.end(), *it), str.end());
}
}
unsigned int StringUtils::count(std::string str, unsigned int StringUtils::count(std::string str,
const std::string & searchString) { const std::string & searchString) {
unsigned int resultat = 0; unsigned int resultat = 0;
...@@ -367,7 +376,8 @@ size_t StringUtils::findFirst(const std::string& file, ...@@ -367,7 +376,8 @@ size_t StringUtils::findFirst(const std::string& file,
return fileSize; return fileSize;
} }
std::string StringUtils::formatDate(const time_t &time, const std::string &format) { std::string StringUtils::formatDate(const time_t &time,
const std::string &format) {
// see : http://stackoverflow.com/questions/16357999/current-date-and-time-as-string // see : http://stackoverflow.com/questions/16357999/current-date-and-time-as-string
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment