Integrate parser pools into library.
[shibboleth/cpp-xmltooling.git] / xmltooling / XMLToolingConfig.h
index e97bb89..5241fe4 100644 (file)
@@ -24,6 +24,7 @@
 #define __xmltooling_config_h__\r
 \r
 #include <xmltooling/Lockable.h>\r
+#include <xmltooling/util/ParserPool.h>\r
 \r
 namespace xmltooling {\r
 \r
@@ -91,7 +92,24 @@ namespace xmltooling {
          * @return true iff configuration was successful\r
          */\r
         virtual bool log_config(const char* config=NULL)=0;\r
-        \r
+\r
+        /**\r
+         * Obtains a non-validating parser pool.\r
+         * Library must be initialized first.\r
+         *\r
+         * @return reference to a non-validating parser pool.\r
+         */\r
+        virtual ParserPool& getParser() const=0;\r
+\r
+        /**\r
+         * Obtains a validating parser pool.\r
+         * Library must be initialized first. Schema/catalog registration must be\r
+         * externally synchronized.\r
+         *\r
+         * @return reference to a validating parser pool.\r
+         */\r
+        virtual ParserPool& getValidatingParser() const=0;\r
+\r
     protected:\r
         XMLToolingConfig() {}\r
     };\r