Update copyright.
[shibboleth/cpp-opensaml.git] / saml / binding / MessageFlowRule.h
index 9e261c5..9ffaa7c 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.
@@ -20,6 +20,9 @@
  * SAML replay and freshness checking SecurityPolicyRule
  */
 
+#ifndef __saml_flowrule_h__
+#define __saml_flowrule_h__
+
 #include <saml/binding/SecurityPolicyRule.h>
 
 
@@ -27,8 +30,8 @@ namespace opensaml {
     /**
      * SAML replay and freshness checking SecurityPolicyRule
      * 
-     * Subclasses can provide support for additional message types
-     * by overriding the main method and then calling the check method.
+     * Some form of message rule to extract ID and timestamp must be
+     * run prior to this rule.
      */
     class SAML_API MessageFlowRule : public SecurityPolicyRule
     {
@@ -36,13 +39,7 @@ namespace opensaml {
         MessageFlowRule(const DOMElement* e);
         virtual ~MessageFlowRule() {}
         
-        std::pair<saml2::Issuer*,const saml2md::RoleDescriptor*> evaluate(
-            const GenericRequest& request,
-            const xmltooling::XMLObject& message,
-            const saml2md::MetadataProvider* metadataProvider,
-            const xmltooling::QName* role,
-            const xmltooling::TrustEngine* trustEngine
-            ) const;
+        void evaluate(const xmltooling::XMLObject& message, const GenericRequest* request, SecurityPolicy& policy) const;
 
         /**
          * Controls whether rule executes replay checking.
@@ -61,17 +58,6 @@ namespace opensaml {
         void setExpires(time_t expires) {
             m_expires = expires;
         }
-
-    protected:
-        /**
-         * Performs the check.
-         * 
-         * @param id            message identifier
-         * @param issueInstant  timestamp of protocol message
-         * 
-         * @exception BindingException  raised if a check fails  
-         */
-        void check(const XMLCh* id, time_t issueInstant) const;
     
     private:
         bool m_checkReplay;
@@ -79,3 +65,5 @@ namespace opensaml {
     };
     
 };
+
+#endif /* __saml_flowrule_h__ */