summaryrefslogtreecommitdiffstats
path: root/src/config.hpp
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-01 17:13:56 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-08 17:24:00 +0200
commita156a120d1622aacef11abcc58fff1adb6a2f786 (patch)
tree7bf2cb47cf3ae5e6bb16d2903fbe1f84cc65c21f /src/config.hpp
parentb91112b2514ccf6e9a57a0ed40d26fa709805af6 (diff)
add config, a simple config interface. i.e. key-value-store
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'src/config.hpp')
-rw-r--r--src/config.hpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/config.hpp b/src/config.hpp
new file mode 100644
index 0000000..976371b
--- /dev/null
+++ b/src/config.hpp
@@ -0,0 +1,37 @@
+//
+// Created by mfritzsc on 8/1/17.
+//
+
+#ifndef TMCAGLWM_CONFIG_HPP
+#define TMCAGLWM_CONFIG_HPP
+
+#include <map>
+#include <experimental/optional>
+
+namespace wm {
+
+using std::experimental::optional;
+using std::experimental::nullopt;
+
+struct config {
+ typedef std::map<std::string, std::string> map;
+
+ map cfg;
+
+ config();
+
+ optional<std::string> get_string(char const *s) {
+ auto i = this->cfg.find(s);
+ return i != this->cfg.end() ? optional<std::string>(i->second) : nullopt;
+ }
+
+ optional<int> get_int(char const *s) {
+ auto i = this->cfg.find(s);
+ return i != this->cfg.end() ? optional<int>(std::stoi(i->second)) : nullopt;
+ }
+};
+
+} // namespace wm
+
+
+#endif //TMCAGLWM_CONFIG_HPP