aboutsummaryrefslogtreecommitdiff
path: root/Src/xml/XMLDOM.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/xml/XMLDOM.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/xml/XMLDOM.h')
-rw-r--r--Src/xml/XMLDOM.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/Src/xml/XMLDOM.h b/Src/xml/XMLDOM.h
new file mode 100644
index 00000000..df4a1abc
--- /dev/null
+++ b/Src/xml/XMLDOM.h
@@ -0,0 +1,27 @@
+#pragma once
+#include "../xml/ifc_xmlreadercallback.h"
+#include "XMLNode.h"
+#include "../nu/Alias.h"
+
+class XMLDOM : public ifc_xmlreadercallback
+{
+public:
+ XMLDOM();
+ ~XMLDOM();
+
+ const XMLNode *GetRoot() const;
+
+private:
+ void StartTag(const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params);
+ void EndTag(const wchar_t *xmlpath, const wchar_t *xmltag);
+ void TextHandler(const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *str);
+
+private:
+ wchar_t *curtext;
+ size_t curtext_len; // number of characters in curtext, not including null terminator
+ XMLNode *xmlNode;
+ XMLNode *curNode;
+
+protected:
+ RECVS_DISPATCH;
+}; \ No newline at end of file