summaryrefslogtreecommitdiff
path: root/muggle-plugin/mg_valmap.h
diff options
context:
space:
mode:
authorLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2005-03-22 06:47:53 +0000
committerLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2005-03-22 06:47:53 +0000
commite2de0c5ed7bbbe4b236246e8bfd71cc87c8d974f (patch)
tree616f2f0a482597e3968e281ccf8adcfd04f45bbc /muggle-plugin/mg_valmap.h
parent101360901576c7e91196de60e2e6ebd6a4b145dd (diff)
downloadvdr-plugin-muggle-0.1.6-BETA.tar.gz
vdr-plugin-muggle-0.1.6-BETA.tar.bz2
Added 0.1.6 beta tag0.1.6-BETA
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/tags/0.1.6-BETA@586 e10066b5-e1e2-0310-b819-94efdf66514b
Diffstat (limited to 'muggle-plugin/mg_valmap.h')
-rw-r--r--muggle-plugin/mg_valmap.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/muggle-plugin/mg_valmap.h b/muggle-plugin/mg_valmap.h
new file mode 100644
index 0000000..ca39139
--- /dev/null
+++ b/muggle-plugin/mg_valmap.h
@@ -0,0 +1,52 @@
+#ifndef _MG_VALMAP_H
+#define _MG_VALMAP_H
+
+#include <stdio.h>
+#include <string>
+#include <map>
+
+using namespace std;
+
+//! \brief a map for reading / writing configuration data.
+class mgValmap : public map<string,string> {
+ private:
+ const char *m_key;
+ public:
+ /*! \brief constructor
+ * \param key all names will be prefixed with key.
+ */
+ mgValmap(const char *key);
+ //! \brief read from file
+ void Read(FILE *f);
+ //! \brief write to file
+ void Write(FILE *f);
+ //! \brief enter a string value
+ void put(const char*name, string value);
+ //! \brief enter a C string value
+ void put(const char*name, const char* value);
+ //! \brief enter a long value
+ void put(const char*name, long value);
+ //! \brief enter a int value
+ void put(const char*name, int value);
+ //! \brief enter a unsigned int value
+ void put(const char*name, unsigned int value);
+ //! \brief enter a bool value
+ void put(const char*name, bool value);
+ //! \brief return a string
+ string getstr(const char* name) {
+ return (*this)[name];
+ }
+ //! \brief return a C string
+ bool getbool(const char* name) {
+ return (getstr(name)=="true");
+ }
+ //! \brief return a long
+ long getlong(const char* name) {
+ return atol(getstr(name).c_str());
+ }
+ //! \brief return an unsigned int
+ unsigned int getuint(const char* name) {
+ return (unsigned long)getlong(name);
+ }
+};
+#endif