opensaml::SAMLConfig Class Referenceabstract

Singleton object that manages library startup/shutdown.configuration. More...

`#include <saml/SAMLConfig.h>`

Collaboration diagram for opensaml::SAMLConfig:
[legend]

## Public Member Functions

virtual bool | init (bool initXMLTooling=true)=0
| Initializes library.
virtual void | term (bool termXMLTooling=true)=0
| Shuts down library.
void | setArtifactMap (ArtifactMap *artifactMap)
| Sets the global ArtifactMap instance.
ArtifactMap * | getArtifactMap () const
| Returns the global ArtifactMap instance.
virtual void | generateRandomBytes (void *buf, unsigned int len)=0
| Generate random information using the underlying security library.
virtual void | generateRandomBytes (std::string &buf, unsigned int len)=0
| Generate random information using the underlying security library.
virtual XMLCh * | generateIdentifier ()=0
| Generate a valid XML identifier of the form _X{32} where X is a random hex character.
virtual void | setContactPriority (const XMLCh *contactTypes)=0
| Sets the order of contact types to use in annotating exceptions with contact information.
virtual const saml2md::ContactPerson * | getContactPerson (const saml2md::EntityDescriptor &entity) const =0
| Returns the appropriate contact to use for the entity.
virtual const saml2md::ContactPerson * | getContactPerson (const saml2md::RoleDescriptor &role) const =0
| Returns the appropriate contact to use for the role.

## Static Public Member Functions

static SAMLConfig & | getConfig ()
| Returns the global configuration object for the library.

## Public Attributes

xmltooling::PluginManager< MessageDecoder, std::string, const xercesc::DOMElement * > | MessageDecoderManager
| Manages factories for MessageDecoder plugins.
xmltooling::PluginManager< MessageEncoder, std::string, const xercesc::DOMElement * > | MessageEncoderManager
| Manages factories for MessageEncoder plugins.
xmltooling::PluginManager< SAMLArtifact, std::string, const char * > | SAMLArtifactManager
| Manages factories for SAMLArtifact plugins.
xmltooling::PluginManager< SecurityPolicyRule, std::string, const xercesc::DOMElement * > | SecurityPolicyRuleManager
| Manages factories for SecurityPolicyRule plugins.
xmltooling::PluginManager< saml2md::MetadataProvider, std::string, const xercesc::DOMElement * > | MetadataProviderManager
| Manages factories for MetadataProvider plugins.
xmltooling::PluginManager< saml2md::MetadataFilter, std::string, const xercesc::DOMElement * > | MetadataFilterManager
| Manages factories for MetadataFilter plugins.
xmltooling::PluginManager< saml2md::EntityMatcher, std::string, const xercesc::DOMElement * > | EntityMatcherManager
| Manages factories for EntityMatcher plugins.

## Protected Attributes

ArtifactMap * | m_artifactMap
| Global ArtifactMap instance for use by artifact-related functions.

## Detailed Description

Singleton object that manages library startup/shutdown.configuration.

## Member Function Documentation

## generateIdentifier()

virtual XMLCh * opensaml::SAMLConfig::generateIdentifier | ( |  | ) |

pure virtual

Generate a valid XML identifier of the form _X{32} where X is a random hex character.

The caller is responsible for freeing the result.

Returns
  a valid null-terminated XML ID

## generateRandomBytes() [1/2]

virtual void opensaml::SAMLConfig::generateRandomBytes | ( | std::string & | buf,
|  | unsigned int | len )

pure virtual

Generate random information using the underlying security library.

Parameters

  buf | string buffer for the information
  len | number of bytes to write into buffer

## generateRandomBytes() [2/2]

virtual void opensaml::SAMLConfig::generateRandomBytes | ( | void * | buf,
|  | unsigned int | len )

pure virtual

Generate random information using the underlying security library.

Parameters

  buf | buffer for the information
  len | number of bytes to write into buffer

## getArtifactMap()

ArtifactMap * opensaml::SAMLConfig::getArtifactMap | ( |  | ) | const

Returns the global ArtifactMap instance.

Returns
  global ArtifactMap or nullptr

## getConfig()

SAMLConfig & opensaml::SAMLConfig::getConfig | ( |  | ) |

static

Returns the global configuration object for the library.

Returns
  reference to the global library configuration object

## getContactPerson() [1/2]

virtual const saml2md::ContactPerson * opensaml::SAMLConfig::getContactPerson | ( | const saml2md::EntityDescriptor & | entity | ) | const

pure virtual

Returns the appropriate contact to use for the entity.

Parameters

  entity | the entity to search

Returns
  a contact to use, or nullptr

## getContactPerson() [2/2]

virtual const saml2md::ContactPerson * opensaml::SAMLConfig::getContactPerson | ( | const saml2md::RoleDescriptor & | role | ) | const

pure virtual

Returns the appropriate contact to use for the role.

Parameters

  role | the role to search

Returns
  a contact to use, or nullptr

## init()

virtual bool opensaml::SAMLConfig::init | ( | bool | initXMLTooling = true | ) |

pure virtual

Initializes library.

Each process using the library MUST call this function exactly once before using any library classes. The flag controls whether this is the "dominant" library or not and can allow the SAML library to be loaded as an extension of XMLTooling rather than subsuming it.

Parameters

  initXMLTooling | true iff this method should initialize the XMLTooling layer

Returns
  true iff initialization was successful

## setArtifactMap()

void opensaml::SAMLConfig::setArtifactMap | ( | ArtifactMap * | artifactMap | ) |

Sets the global ArtifactMap instance.

This method must be externally synchronized with any code that uses the object. Any previously set object is destroyed.

Parameters

  artifactMap | new ArtifactMap instance to store

## setContactPriority()

virtual void opensaml::SAMLConfig::setContactPriority | ( | const XMLCh * | contactTypes | ) |

pure virtual

Sets the order of contact types to use in annotating exceptions with contact information.

Parameters

  contactTypes | whitespace-delimited list of contact types

## term()

virtual void opensaml::SAMLConfig::term | ( | bool | termXMLTooling = true | ) |

pure virtual

Shuts down library.

Each process using the library SHOULD call this function exactly once before terminating itself. The flag controls whether this is the "dominant" library or not and can allow the SAML library to be loaded as an extension of XMLTooling rather than subsuming it.

Parameters

  termXMLTooling | true iff this method should shutdown the XMLTooling layer

The documentation for this class was generated from the following file:

- saml/SAMLConfig.h