4 * Created on: Mar 14, 2014
8 #ifndef CONFIG_XMLREADER_H_
9 #define CONFIG_XMLREADER_H_
11 #include <Config_def.h>
16 //>> Forward declaration of xmlNodePtr.
17 typedef struct _xmlNode xmlNode;
18 typedef xmlNode *xmlNodePtr;
22 //>> Forward declaration of xmlDocPtr.
23 typedef struct _xmlDoc xmlDoc;
24 typedef xmlDoc *xmlDocPtr;
29 * Base class for all libxml readers. Provides high-level API
30 * for all xml operations.
33 class Config_XMLReader
36 CONFIG_EXPORT Config_XMLReader(const std::string& theXmlFile);CONFIG_EXPORT virtual ~Config_XMLReader();
38 CONFIG_EXPORT void readAll();
41 CONFIG_EXPORT xmlNodePtr findRoot();
44 virtual void processNode(xmlNodePtr aNode);
45 virtual bool processChildren(xmlNodePtr aNode);
47 void readRecursively(xmlNodePtr theParent);
49 xmlNodePtr node(void* theNode);
50 std::string getProperty(xmlNodePtr theNode, const char* property);
51 void processValidator(xmlNodePtr theNode);
54 std::string myCurrentFeature;
57 std::string myDocumentPath;
61 #endif /* CONFIG_XMLREADER_H_ */