Imported Upstream version 2.2.1+dfsg
[shibboleth/sp.git] / shibsp / security / SecurityPolicy.h
index 74745ff..29a3bf5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- *  Copyright 2001-2007 Internet2
- * 
+ *  Copyright 2001-2009 Internet2
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
@@ -16,7 +16,7 @@
 
 /**
  * @file shibsp/security/SecurityPolicy.h
- * 
+ *
  * SP-specific SecurityPolicy subclass.
  */
 
 #define __shibsp_secpol_h__
 
 #include <shibsp/base.h>
-#include <saml/binding/SecurityPolicy.h>
+#include <saml/saml2/profile/SAML2AssertionPolicy.h>
 
 namespace shibsp {
-    
+
     class SHIBSP_API Application;
 
     /**
      * SP-specific SecurityPolicy subclass.
      */
-    class SHIBSP_API SecurityPolicy : public opensaml::SecurityPolicy
+    class SHIBSP_API SecurityPolicy : public opensaml::saml2::SAML2AssertionPolicy
     {
     public:
         /**
          * Constructor for policy.
-         * 
+         *
          * @param application       an Application instance
-         * @param role              identifies the role (generally IdP or SP) of the policy peer 
+         * @param role              identifies the role (generally IdP or SP) of the policy peer
          * @param validate          true iff XML parsing should be done with validation
+         * @param policyId          identifies policy rules to auto-attach, defaults to the application's set
          */
-        SecurityPolicy(const Application& application, const xmltooling::QName* role=NULL, bool validate=true);
+        SecurityPolicy(const Application& application, const xmltooling::QName* role=NULL, bool validate=true, const char* policyId=NULL);
 
         virtual ~SecurityPolicy() {}
 
+        opensaml::saml2md::MetadataProvider::Criteria& getMetadataProviderCriteria() const;
+
         /**
          * Returns the Application associated with the policy.
-         * 
+         *
          * @return the associated Application
          */
         const Application& getApplication() const {