X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2FSAMLConfig.h;h=b97bda0ba3b798adf66696a6a550b733a4c9ebac;hb=d70c88b320fcc61aa5f657abbf57f8c451f4ab25;hp=0fd432d14871de258038f85aa24fd91ad2011acb;hpb=c2e1672d873d6fbdfb199e60bcaff6cae4fcf978;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/SAMLConfig.h b/saml/SAMLConfig.h index 0fd432d..b97bda0 100644 --- a/saml/SAMLConfig.h +++ b/saml/SAMLConfig.h @@ -24,7 +24,8 @@ #define __saml_config_h__ #include -#include + +#include #include #include @@ -35,6 +36,19 @@ */ namespace opensaml { + class SAML_API SAMLArtifact; + class SAML_API TrustEngine; + + namespace saml2md { + class SAML_API MetadataProvider; + class SAML_API MetadataFilter; + }; + +#if defined (_MSC_VER) + #pragma warning( push ) + #pragma warning( disable : 4250 4251 ) +#endif + /** * Singleton object that manages library startup/shutdown.configuration. */ @@ -92,11 +106,45 @@ namespace opensaml { * @return a valid null-terminated XML ID */ virtual XMLCh* generateIdentifier()=0; + + /** + * Generate the SHA-1 hash of a string + * + * @param s NULL-terminated string to hash + * @param toHex true iff the result should be encoded in hexadecimal form or left as raw bytes + * + * @return SHA-1 hash of the data + */ + virtual std::string hashSHA1(const char* s, bool toHex=false)=0; + + /** + * Manages factories for MetadataProvider plugins. + */ + xmltooling::PluginManager MetadataProviderManager; + + /** + * Manages factories for MetadataFilter plugins. + */ + xmltooling::PluginManager MetadataFilterManager; + + /** + * Manages factories for SAMLArtifact plugins. + */ + xmltooling::PluginManager SAMLArtifactManager; + + /** + * Manages factories for TrustEngine plugins. + */ + xmltooling::PluginManager TrustEngineManager; protected: SAMLConfig() {} }; +#if defined (_MSC_VER) + #pragma warning( pop ) +#endif + }; #endif /* __saml_config_h__ */