opensaml::saml2md::ChainingMetadataProvider Class Reference

MetadataProvider that uses multiple providers in sequence. More...

#include <saml/saml2/metadata/ChainingMetadataProvider.h>

Inheritance diagram for opensaml::saml2md::ChainingMetadataProvider:

opensaml::saml2md::ObservableMetadataProvider opensaml::saml2md::ObservableMetadataProvider::Observer opensaml::saml2md::MetadataProvider

List of all members.

Public Member Functions

 ChainingMetadataProvider (const xercesc::DOMElement *e=NULL)
 Constructor.
virtual ~ChainingMetadataProvider ()
 Destructor will delete any embedded engines.
void addMetadataProvider (MetadataProvider *newProvider)
 Adds a provider for future calls.
MetadataProviderremoveMetadataProvider (MetadataProvider *oldProvider)
 Removes a provider.
xmltooling::Lockable * lock ()
void unlock ()
void init ()
 Should be called after instantiating provider and adding filters, but before performing any lookup operations.
const xmltooling::XMLObject * getMetadata () const
 Gets the entire metadata tree, after the registered filter has been applied.
const EntitiesDescriptor * getEntitiesDescriptor (const char *name, bool requireValidMetadata=true) const
 Gets the metadata for a given group of entities.
std::pair< const
EntityDescriptor *, const
RoleDescriptor * > 
getEntityDescriptor (const Criteria &criteria) const
 Gets entity metadata based on supplied criteria.
void onEvent (const ObservableMetadataProvider &provider) const
 Called when a provider signals an event has occured.
const xmltooling::Credential * resolve (const xmltooling::CredentialCriteria *criteria=NULL) const
std::vector< const
xmltooling::Credential * >
::size_type 
resolve (std::vector< const xmltooling::Credential * > &results, const xmltooling::CredentialCriteria *criteria=NULL) const


Detailed Description

MetadataProvider that uses multiple providers in sequence.

Constructor & Destructor Documentation

opensaml::saml2md::ChainingMetadataProvider::ChainingMetadataProvider ( const xercesc::DOMElement *  e = NULL  ) 

Constructor.

If a DOM is supplied, the following XML content is supported:

XML namespaces are ignored in the processing of this content.

Parameters:
e DOM to supply configuration for provider


Member Function Documentation

void opensaml::saml2md::ChainingMetadataProvider::addMetadataProvider ( MetadataProvider newProvider  )  [inline]

Adds a provider for future calls.

The provider MUST be initialized before adding it.

Parameters:
newProvider provider to add

MetadataProvider* opensaml::saml2md::ChainingMetadataProvider::removeMetadataProvider ( MetadataProvider oldProvider  )  [inline]

Removes a provider.

The caller must delete the provider if necessary.

Parameters:
oldProvider provider to remove
Returns:
the old provider

void opensaml::saml2md::ChainingMetadataProvider::init (  )  [virtual]

Should be called after instantiating provider and adding filters, but before performing any lookup operations.

Allows the provider to defer initialization processes that are likely to result in exceptions until after the provider is safely created. Providers SHOULD perform as much processing as possible in this method so as to report/log any errors that would affect later processing.

Implements opensaml::saml2md::MetadataProvider.

const xmltooling::XMLObject* opensaml::saml2md::ChainingMetadataProvider::getMetadata (  )  const [virtual]

Gets the entire metadata tree, after the registered filter has been applied.

The caller MUST unlock the provider when finished with the data.

Returns:
the entire metadata tree

Implements opensaml::saml2md::MetadataProvider.

const EntitiesDescriptor* opensaml::saml2md::ChainingMetadataProvider::getEntitiesDescriptor ( const char *  name,
bool  requireValidMetadata = true 
) const [virtual]

Gets the metadata for a given group of entities.

If a valid group is returned, the resolver will be left in a locked state. The caller MUST unlock the resolver when finished with the group.

Parameters:
name the name of the group
requireValidMetadata indicates whether the metadata for the group must be valid/current
Returns:
the group's metadata or NULL if there is no metadata or no valid metadata

Implements opensaml::saml2md::MetadataProvider.

std::pair<const EntityDescriptor*,const RoleDescriptor*> opensaml::saml2md::ChainingMetadataProvider::getEntityDescriptor ( const Criteria criteria  )  const [virtual]

Gets entity metadata based on supplied criteria.

If a valid entity is returned, the provider will be left in a locked state. The caller MUST unlock the provider when finished with the entity.

Parameters:
criteria lookup criteria
Returns:
the entity's metadata (and optionally a role) or NULL if there is no qualifying metadata

Implements opensaml::saml2md::MetadataProvider.

void opensaml::saml2md::ChainingMetadataProvider::onEvent ( const ObservableMetadataProvider provider  )  const [virtual]

Called when a provider signals an event has occured.

The provider is already locked.

Parameters:
provider the provider being observed

Implements opensaml::saml2md::ObservableMetadataProvider::Observer.


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

Generated on Thu Jun 26 09:54:13 2008 for opensaml-2.0 by  doxygen 1.5.6