- * Returns a CredentialResolver instance mapped to a key.
- *
- * @param id a NULL-terminated key identifying the CredentialResolver to the configuration
- * @return a CredentialResolver if available, or NULL
+ * Returns a SecurityPolicyProvider instance.
+ *
+ * @param required true iff an exception should be thrown if no SecurityPolicyProvider is available
+ * @return a SecurityPolicyProvider
+ */
+ virtual SecurityPolicyProvider* getSecurityPolicyProvider(bool required=true) const;
+
+ /**
+ * @deprecated
+ * Returns the security policy settings for an identified policy.
+ *
+ * @param id identifies the policy to return, or nullptr for default
+ * @return a PropertySet
+ */
+ virtual const PropertySet* getPolicySettings(const char* id) const=0;
+
+ /**
+ * @deprecated
+ * Returns the security policy rules for an identified policy.
+ *
+ * @param id identifies the policy to return, or nullptr for default
+ * @return an array of policy rules
+ */
+ virtual const std::vector<const opensaml::SecurityPolicyRule*>& getPolicyRules(const char* id) const=0;
+
+ /**
+ * Sets implementation-specific transport options.
+ *
+ * @param transport a SOAPTransport object
+ * @return true iff all options were successfully set