Update copyright.
[shibboleth/cpp-opensaml.git] / saml / binding / XMLSigningRule.h
index d2c3580..2aec46a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2006 Internet2
+ *  Copyright 2001-2007 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * XML Signature checking SecurityPolicyRule
  */
 
+#ifndef __saml_xmlsignrule_h__
+#define __saml_xmlsignrule_h__
+
 #include <saml/binding/SecurityPolicyRule.h>
 
 
 namespace opensaml {
     /**
      * XML Signature checking SecurityPolicyRule
-     * 
-     * Subclasses can provide support for additional message types
-     * by overriding the issuer derivation method.
      */
     class SAML_API XMLSigningRule : public SecurityPolicyRule
     {
@@ -36,27 +36,9 @@ namespace opensaml {
         XMLSigningRule(const DOMElement* e) {}
         virtual ~XMLSigningRule() {}
         
-        std::pair<saml2::Issuer*,const saml2md::RoleDescriptor*> evaluate(
-            const xmltooling::XMLObject& message,
-            const GenericRequest* request,
-            const saml2md::MetadataProvider* metadataProvider,
-            const xmltooling::QName* role,
-            const xmltooling::TrustEngine* trustEngine
-            ) const;
-    
-    protected:
-        /**
-         * Examines the message and/or its contents and extracts the issuer's claimed
-         * identity along with a protocol identifier. The two together can be used to
-         * locate metadata to use in validating the signature. Conventions may be needed
-         * to properly encode non-SAML2 issuer information into a compatible form. 
-         * 
-         * <p>The caller is responsible for freeing the Issuer object.
-         * 
-         * @param message       message to examine
-         * @return  a pair consisting of a SAML 2.0 Issuer object and a protocol constant.
-         */
-        virtual std::pair<saml2::Issuer*,const XMLCh*> getIssuerAndProtocol(const xmltooling::XMLObject& message) const;
+        void evaluate(const xmltooling::XMLObject& message, const GenericRequest* request, SecurityPolicy& policy) const;
     };
     
 };
+
+#endif /* __saml_xmlsignrule_h__ */