Salome HOME
All the git "*.orig" files removed and will be ignored since this commit.
[modules/shaper.git] / src / Config / Config_XMLReader.h
index 9761ada43e82222dcfb5a9e762c5ffd806e86810..7a42fcb09ed58821906493a58ace61396d4150fa 100644 (file)
 #include "Config_Message.h"
 
 #include <string>
+#include <cstdarg>
 
 //Forward declaration for xmlNodePtr.
 typedef struct _xmlNode xmlNode;
 typedef xmlNode *xmlNodePtr;
 struct _xmlNode;
 
+
 class CONFIG_EXPORT Config_XMLReader {
 public:
   Config_XMLReader(const std::string& theXmlFile);
@@ -34,7 +36,13 @@ protected:
 
   xmlNodePtr node(void* theNode);
   std::string getProperty(xmlNodePtr theNode, const char* property);
-  bool isNode(xmlNodePtr theNode, const char* name);
+  /*
+   * Please note that this function should be called with NULL last argument. 
+   * In example: isNode(aNode, "type1", ["type2", ...], NULL);
+   * ", NULL" is required to use unlimited number of arguments.
+   * TODO(sbh): find a way to simplify calling this method.
+   */
+  bool isNode(xmlNodePtr theNode, const char* name, ...);
 
 private:
   std::string m_DocumentPath;