Credential resolver plugin
[shibboleth/cpp-xmltooling.git] / xmltooling / XMLToolingConfig.h
index 5241fe4..e2845b8 100644 (file)
 #define __xmltooling_config_h__\r
 \r
 #include <xmltooling/Lockable.h>\r
+#include <xmltooling/PluginManager.h>\r
 #include <xmltooling/util/ParserPool.h>\r
 \r
+#ifndef XMLTOOLING_NO_XMLSEC\r
+namespace xmlsignature {\r
+    class XMLTOOL_API CredentialResolver;\r
+    class XMLTOOL_API KeyResolver;\r
+};\r
+#endif\r
+\r
+#if defined (_MSC_VER)\r
+    #pragma warning( push )\r
+    #pragma warning( disable : 4251 )\r
+#endif\r
+\r
 namespace xmltooling {\r
 \r
     /**\r
@@ -110,10 +123,26 @@ namespace xmltooling {
          */\r
         virtual ParserPool& getValidatingParser() const=0;\r
 \r
+#ifndef XMLTOOLING_NO_XMLSEC\r
+        /**\r
+         * Manages factories for KeyResolver plugins.\r
+         */\r
+        xmltooling::PluginManager<xmlsignature::KeyResolver,const DOMElement*> KeyResolverManager;\r
+\r
+        /**\r
+         * Manages factories for CredentialResolver plugins.\r
+         */\r
+        xmltooling::PluginManager<xmlsignature::CredentialResolver,const DOMElement*> CredentialResolverManager;\r
+#endif\r
+\r
     protected:\r
         XMLToolingConfig() {}\r
     };\r
 \r
 };\r
 \r
+#if defined (_MSC_VER)\r
+    #pragma warning( pop )\r
+#endif\r
+\r
 #endif /* __xmltooling_config_h__ */\r