summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorZdenek Prikryl <zprikryl@redhat.com>2009-02-05 13:17:58 +0100
committerZdenek Prikryl <zprikryl@redhat.com>2009-02-05 13:17:58 +0100
commitf8024b8aa0adcb9f3d94885d7be0311d35b8a999 (patch)
tree77738ac621a26a31d8b387456ce91a00b39b1685 /lib
parentce0c3b87c7fff7be6a1c7867996fe65ec6dd0bfa (diff)
downloadabrt-f8024b8aa0adcb9f3d94885d7be0311d35b8a999.tar.gz
abrt-f8024b8aa0adcb9f3d94885d7be0311d35b8a999.tar.xz
abrt-f8024b8aa0adcb9f3d94885d7be0311d35b8a999.zip
Added save_settings() function
Diffstat (limited to 'lib')
-rw-r--r--lib/MiddleWare/Settings.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/MiddleWare/Settings.cpp b/lib/MiddleWare/Settings.cpp
index 627bfc60..413820bd 100644
--- a/lib/MiddleWare/Settings.cpp
+++ b/lib/MiddleWare/Settings.cpp
@@ -80,5 +80,20 @@ void load_settings(const std::string& path, map_settings_t& settings)
void save_settings(const std::string& path, const map_settings_t& settings)
{
- //TODO: write this
+ 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 CRASHCATCHER!" << 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+"'.");
+ }
}