summaryrefslogtreecommitdiffstats
path: root/lib/MiddleWare/Settings.cpp
diff options
context:
space:
mode:
authorZdenek Prikryl <zprikryl@redhat.com>2009-03-19 11:32:24 +0100
committerZdenek Prikryl <zprikryl@redhat.com>2009-03-19 11:32:24 +0100
commit0cb79cfd54d5fe5a9599803dd1a0e5fc5463de3c (patch)
tree9028bffa3109ea42f3af8fa6c9d4b1bbb227e83f /lib/MiddleWare/Settings.cpp
parent3705be95f6acf06409e587b970e19b03a2cca274 (diff)
downloadabrt-0cb79cfd54d5fe5a9599803dd1a0e5fc5463de3c.tar.gz
abrt-0cb79cfd54d5fe5a9599803dd1a0e5fc5463de3c.tar.xz
abrt-0cb79cfd54d5fe5a9599803dd1a0e5fc5463de3c.zip
moved to Utils
Diffstat (limited to 'lib/MiddleWare/Settings.cpp')
-rw-r--r--lib/MiddleWare/Settings.cpp112
1 files changed, 0 insertions, 112 deletions
diff --git a/lib/MiddleWare/Settings.cpp b/lib/MiddleWare/Settings.cpp
deleted file mode 100644
index 65b7f16..0000000
--- a/lib/MiddleWare/Settings.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- Settings.cpp - header file for settings functions
-
- Copyright (C) 2009 Zdenek Prikryl (zprikryl@redhat.com)
- Copyright (C) 2009 RedHat inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "Settings.h"
-#include <fstream>
-
-
-void load_settings(const std::string& path, map_settings_t& settings)
-{
- std::ifstream fIn;
- fIn.open(path.c_str());
- if (fIn.is_open())
- {
- std::string line;
- while (!fIn.eof())
- {
- getline(fIn, line);
-
- int ii;
- bool is_value = false;
- bool valid = false;
- std::string key = "";
- std::string value = "";
- for (ii = 0; ii < line.length(); ii++)
- {
- if (isspace(line[ii]))
- {
- continue;
- }
- if (line[ii] == '#')
- {
- break;
- }
- else if (line[ii] == '=')
- {
- is_value = true;
- }
- else if (line[ii] == '=' && is_value)
- {
- key = "";
- value = "";
- break;
- }
- else if (!is_value)
- {
- key += line[ii];
- }
- else
- {
- valid = true;
- value += line[ii];
- }
- }
- if (valid)
- {
- settings[key] = value;
- }
- }
- fIn.close();
- }
-}
-
-void save_settings(const std::string& path, const map_settings_t& settings)
-{
- map_settings_t::const_iterator it;
- std::ofstream fOut;
- fOut.open(path.c_str());
- if (fOut.is_open())
- {
- fOut << "# !DO NOT EDIT THIS FILE BY HAND. IT IS GENERATED BY ABRT!" << std::endl;
- for (it = settings.begin(); it != settings.end(); it++)
- {
- fOut << it->first << " = " << it->second << std::endl << std::endl;
- }
- fOut.close();
- }
- else
- {
- throw std::string("save_settings(): Cannot write configuration file '"+path+"'.");
- }
-}
-
-void parse_settings(const std::string& pLine, set_settings_t& settings)
-{
- std::string::size_type ii_old = 0, ii_new = 0;
- ii_new = pLine.find(",");
- while (ii_new != std::string::npos)
- {
- settings.insert(pLine.substr(ii_old, ii_new - ii_old));
- ii_old = ii_new + 1;
- ii_new = pLine.find(",",ii_old);
- }
- settings.insert(pLine.substr(ii_old));
-}