X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=shibsp%2FServiceProvider.h;h=15658fe399de91416b0b3c86a6378f593ebbbbe2;hb=73514022d6a44deb8da9be57c8ed9d7e823d3b6b;hp=f7b2ba14bf7a77bc479d5575d58b2418a014832f;hpb=e2e68f820e5c81d6e03238b488b1d727077d55d9;p=shibboleth%2Fsp.git diff --git a/shibsp/ServiceProvider.h b/shibsp/ServiceProvider.h index f7b2ba1..15658fe 100644 --- a/shibsp/ServiceProvider.h +++ b/shibsp/ServiceProvider.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2007 Internet2 + * Copyright 2001-2010 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,12 +24,19 @@ #define __shibsp_sp_h__ #include + +#include + +namespace xmltooling { + class XMLTOOL_API SOAPTransport; + class XMLTOOL_API StorageService; +}; + #ifndef SHIBSP_LITE -# include -# include -# include +namespace opensaml { + class SAML_API SecurityPolicyRule; +}; #endif -#include namespace shibsp { @@ -41,6 +48,7 @@ namespace shibsp { class SHIBSP_API SPRequest; class SHIBSP_API TemplateParameters; #ifndef SHIBSP_LITE + class SHIBSP_API SecurityPolicyProvider; class SHIBSP_API TransactionLog; #endif @@ -54,9 +62,9 @@ namespace shibsp { { MAKE_NONCOPYABLE(ServiceProvider); protected: - ServiceProvider() {} + ServiceProvider(); public: - virtual ~ServiceProvider() {} + virtual ~ServiceProvider(); /** * Loads a configuration and prepares the instance for use. @@ -78,8 +86,8 @@ namespace shibsp { /** * Returns a StorageService instance based on an ID. * - * @param id a NULL-terminated key identifying the StorageService to the configuration - * @return a StorageService if available, or NULL + * @param id a nullptr-terminated key identifying the StorageService to the configuration + * @return a StorageService if available, or nullptr */ virtual xmltooling::StorageService* getStorageService(const char* id) const=0; #endif @@ -102,6 +110,15 @@ namespace shibsp { #ifndef SHIBSP_LITE /** + * 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 @@ -110,6 +127,7 @@ namespace shibsp { 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 @@ -118,13 +136,12 @@ namespace shibsp { virtual const std::vector& getPolicyRules(const char* id) const=0; /** - * Sets implementation-specific transport options for an identified policy. + * Sets implementation-specific transport options. * - * @param id identifies the policy to return * @param transport a SOAPTransport object * @return true iff all options were successfully set */ - virtual bool setTransportOptions(const char* id, xmltooling::SOAPTransport& transport) const=0; + virtual bool setTransportOptions(xmltooling::SOAPTransport& transport) const=0; #endif /** @@ -139,7 +156,7 @@ namespace shibsp { * Returns an Application instance matching the specified ID. * * @param applicationId the ID of the application - * @return pointer to the application, or NULL + * @return pointer to the application, or nullptr */ virtual const Application* getApplication(const char* applicationId) const=0;