From 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 Mon Sep 17 00:00:00 2001 From: git perforce import user Date: Tue, 25 Oct 2016 12:29:14 -0600 Subject: Initial commit: PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167] --- KaplaDemo/samples/sampleViewer3/XMLParser.h | 60 +++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 KaplaDemo/samples/sampleViewer3/XMLParser.h (limited to 'KaplaDemo/samples/sampleViewer3/XMLParser.h') diff --git a/KaplaDemo/samples/sampleViewer3/XMLParser.h b/KaplaDemo/samples/sampleViewer3/XMLParser.h new file mode 100644 index 00000000..e9c3d9bb --- /dev/null +++ b/KaplaDemo/samples/sampleViewer3/XMLParser.h @@ -0,0 +1,60 @@ +#ifndef XML_PARSER_H +#define XML_PARSER_H + +#include +#include +#include +#include "FileScanner.h" + +#define XML_LINE_MAX 1024 + + +// ------------------------------------------------------------------------- +struct XMLVariable { + std::string name; + std::string value; +}; + +// ------------------------------------------------------------------------- +class XMLParser { +public: + // singleton pattern + static XMLParser* getInstance(); + static void destroyInstance(); + + bool open(std::string filename); + void close(); + bool endOfFile(); + bool readNextTag(); + + std::string tagName; + std::vector vars; + bool closed; + bool endTag; + + FileScanner &getFileScanner() { return fs; } + + // ezm + void ezmParseSemantic(int &count); + void ezmReadSemanticEntry(int nr); + + std::vector ezmAttrs; + std::vector ezmTypes; + std::vector ezmFloats; + std::vector ezmInts; + +private: + XMLParser(); + ~XMLParser(); + + void clearTag(); + FileScanner fs; +}; + +#include + +#define FILE_SCANNER_LINE_MAX 1024 + + + +#endif \ No newline at end of file -- cgit v1.2.3