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);
37 CONFIG_EXPORT virtual ~Config_XMLReader();
39 CONFIG_EXPORT void readAll();
42 CONFIG_EXPORT xmlNodePtr findRoot();
45 virtual void processNode(xmlNodePtr aNode);
46 virtual bool processChildren(xmlNodePtr aNode);
48 void readRecursively(xmlNodePtr theParent);
50 xmlNodePtr node(void* theNode);
51 std::string getProperty(xmlNodePtr theNode, const char* property);
52 void processValidator(xmlNodePtr theNode);
55 std::string myDocumentPath;
59 #endif /* CONFIG_XMLREADER_H_ */