Fix CRL logging.
[shibboleth/cpp-xmltooling.git] / xmltooling / security / ChainingTrustEngine.h
index 65f972b..bd97ac9 100644 (file)
 #define __xmltooling_chaintrust_h__
 
 #include <xmltooling/security/OpenSSLTrustEngine.h>
+#include <xmltooling/security/SignatureTrustEngine.h>
 
 namespace xmltooling {
 
     /**
      * OpenSSLTrustEngine that uses multiple engines in sequence.
      */
-    class XMLTOOL_API ChainingTrustEngine : public OpenSSLTrustEngine {
+    class XMLTOOL_API ChainingTrustEngine : public SignatureTrustEngine, public OpenSSLTrustEngine {
     public:
         /**
          * Constructor.
@@ -45,7 +46,7 @@ namespace xmltooling {
          * 
          * @param e DOM to supply configuration for provider
          */
-        ChainingTrustEngine(const DOMElement* e=NULL);
+        ChainingTrustEngine(const xercesc::DOMElement* e=NULL);
         
         /**
          * Destructor will delete any embedded engines.
@@ -105,6 +106,9 @@ namespace xmltooling {
             ) const;
     private:
         std::vector<TrustEngine*> m_engines;
+        std::vector<SignatureTrustEngine*> m_sigEngines;
+        std::vector<X509TrustEngine*> m_x509Engines;
+        std::vector<OpenSSLTrustEngine*> m_osslEngines;
     };
     
 };