summaryrefslogtreecommitdiff
path: root/libcore/libxmlwrapper.h
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-07-07 17:59:00 +0200
committerlouis <louis.braun@gmx.de>2015-07-07 17:59:00 +0200
commit5df1af0e176e8495b33f3837691b1f922d7316f5 (patch)
treef1c953d87873564057384377c0341b83843642d0 /libcore/libxmlwrapper.h
parent5a6fb850b35bc63325cac482daaa70b00b0e8e8b (diff)
downloadvdr-plugin-skindesigner-5df1af0e176e8495b33f3837691b1f922d7316f5.tar.gz
vdr-plugin-skindesigner-5df1af0e176e8495b33f3837691b1f922d7316f5.tar.bz2
forgot to add new files
Diffstat (limited to 'libcore/libxmlwrapper.h')
-rw-r--r--libcore/libxmlwrapper.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/libcore/libxmlwrapper.h b/libcore/libxmlwrapper.h
new file mode 100644
index 0000000..cb1872f
--- /dev/null
+++ b/libcore/libxmlwrapper.h
@@ -0,0 +1,45 @@
+#ifndef __LIBXMLWRAPPER_H
+#define __LIBXMLWRAPPER_H
+
+#include <string>
+#include <vector>
+#include <map>
+#include <set>
+#include <stack>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <libxml/xmlerror.h>
+#include <vdr/plugin.h>
+
+using namespace std;
+
+#include "../views/viewhelpers.h"
+
+class cLibXMLWrapper {
+private:
+ xmlParserCtxtPtr ctxt;
+ xmlDocPtr doc;
+ xmlNodePtr root;
+ xmlNodePtr current;
+ stack<xmlNodePtr> nodeStack;
+protected:
+ void DeleteDocument(void);
+ bool ReadXMLFile(const char *path);
+ bool SetDocument(void);
+ bool Validate(void);
+ bool CheckNodeName(const char *name);
+ const char *NodeName(void);
+ vector<stringpair> ParseAttributes(void);
+ bool LevelDown(void);
+ bool LevelUp(void);
+ bool NextNode(void);
+ bool GetAttribute(string &name, string &value);
+ bool GetNodeValue(string &value);
+public:
+ cLibXMLWrapper(void);
+ virtual ~cLibXMLWrapper(void);
+ static void InitLibXML();
+ static void CleanupLibXML();
+};
+
+#endif //__LIBXMLWRAPPER_H \ No newline at end of file