Base class for caching metadata providers.
More...
#include <saml/saml2/metadata/AbstractMetadataProvider.h>
|
void | emitChangeEvent () const |
| Convenience method for notifying every registered Observer of an event.
|
|
std::pair< const
EntityDescriptor *, const
RoleDescriptor * > | getEntityDescriptor (const Criteria &criteria) const |
| Gets entity metadata based on supplied criteria. More...
|
|
const EntitiesDescriptor * | getEntitiesDescriptor (const char *name, bool requireValidMetadata=true) const |
| Gets the metadata for a given group of entities. More...
|
|
const xmltooling::Credential * | resolve (const xmltooling::CredentialCriteria *criteria=nullptr) const |
|
std::vector< const
xmltooling::Credential * >
::size_type | resolve (std::vector< const xmltooling::Credential * > &results, const xmltooling::CredentialCriteria *criteria=nullptr) const |
|
virtual void | addObserver (const Observer *newObserver) const |
| Adds a metadata observer. More...
|
|
virtual const Observer * | removeObserver (const Observer *oldObserver) const |
| Removes a metadata observer. More...
|
|
virtual | ~MetadataProvider () |
| Destructor will delete any installed filters.
|
|
virtual void | addMetadataFilter (MetadataFilter *newFilter) |
| Adds a metadata filter to apply to any resolved metadata. More...
|
|
virtual MetadataFilter * | removeMetadataFilter (MetadataFilter *oldFilter) |
| Removes a metadata filter. More...
|
|
virtual void | init ()=0 |
| Should be called after instantiating provider and adding filters, but before performing any lookup operations. More...
|
|
virtual const
xmltooling::XMLObject * | getMetadata () const =0 |
| Gets the entire metadata tree, after the registered filter has been applied. More...
|
|
virtual const EntitiesDescriptor * | getEntitiesDescriptor (const XMLCh *name, bool requireValidMetadata=true) const |
| Gets the metadata for a given group of entities. More...
|
|
|
| AbstractMetadataProvider (const xercesc::DOMElement *e=nullptr) |
| Constructor. More...
|
|
virtual void | indexEntity (EntityDescriptor *site, time_t &validUntil, bool replace=false) const |
| Loads an entity into the cache for faster lookup. More...
|
|
virtual void | indexGroup (EntitiesDescriptor *group, time_t &validUntil) const |
| Loads a group of entities into the cache for faster lookup. More...
|
|
virtual void | index (EntityDescriptor *site, time_t validUntil, bool replace=false) const |
|
virtual void | index (EntitiesDescriptor *group, time_t validUntil) const |
|
virtual void | clearDescriptorIndex (bool freeSites=false) |
| Clear the cache of known entities and groups. More...
|
|
| ObservableMetadataProvider (const xercesc::DOMElement *e=nullptr) |
| Constructor. More...
|
|
| MetadataProvider (const xercesc::DOMElement *e=nullptr) |
| Constructor. More...
|
|
void | doFilters (xmltooling::XMLObject &xmlObject) const |
| Applies any installed filters to a metadata instance. More...
|
|
Base class for caching metadata providers.
opensaml::saml2md::AbstractMetadataProvider::AbstractMetadataProvider |
( |
const xercesc::DOMElement * |
e = nullptr | ) |
|
|
protected |
Constructor.
If a DOM is supplied, a set of default logic will be used to identify and build a KeyInfoResolver plugin and install it into the provider.
The following XML content is supported:
-
<KeyInfoResolver> elements with a type attribute
XML namespaces are ignored in the processing of these elements.
- Parameters
-
e | DOM to supply configuration for provider |
virtual void opensaml::saml2md::AbstractMetadataProvider::clearDescriptorIndex |
( |
bool |
freeSites = false | ) |
|
|
protectedvirtual |
Clear the cache of known entities and groups.
- Parameters
-
freeSites | true iff the objects cached in the site map should be freed. |
const EntitiesDescriptor* opensaml::saml2md::AbstractMetadataProvider::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 nullptr if there is no metadata or no valid metadata
Implements opensaml::saml2md::MetadataProvider.
std::pair<const EntityDescriptor*,const RoleDescriptor*> opensaml::saml2md::AbstractMetadataProvider::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
-
- Returns
- the entity's metadata (and optionally a role) or nullptr if there is no qualifying metadata
Implements opensaml::saml2md::MetadataProvider.
Reimplemented in opensaml::saml2md::DynamicMetadataProvider.
virtual void opensaml::saml2md::AbstractMetadataProvider::index |
( |
EntityDescriptor * |
site, |
|
|
time_t |
validUntil, |
|
|
bool |
replace = false |
|
) |
| const |
|
protectedvirtual |
- Deprecated:
- Loads an entity into the cache for faster lookup.
This includes processing known reverse lookup strategies for artifacts.
- Parameters
-
site | entity definition |
validUntil | maximum expiration time of the entity definition |
replace | true iff existing entries for the same entity should be cleared/replaced |
virtual void opensaml::saml2md::AbstractMetadataProvider::index |
( |
EntitiesDescriptor * |
group, |
|
|
time_t |
validUntil |
|
) |
| const |
|
protectedvirtual |
- Deprecated:
- Loads a group of entities into the cache for faster lookup.
- Parameters
-
group | group definition |
validUntil | maximum expiration time of the group definition |
virtual void opensaml::saml2md::AbstractMetadataProvider::indexEntity |
( |
EntityDescriptor * |
site, |
|
|
time_t & |
validUntil, |
|
|
bool |
replace = false |
|
) |
| const |
|
protectedvirtual |
Loads an entity into the cache for faster lookup.
This includes processing known reverse lookup strategies for artifacts. The validUntil parameter will contain the smallest value found on output.
- Parameters
-
site | entity definition |
validUntil | maximum expiration time of the entity definition |
replace | true iff existing entries for the same entity should be cleared/replaced |
virtual void opensaml::saml2md::AbstractMetadataProvider::indexGroup |
( |
EntitiesDescriptor * |
group, |
|
|
time_t & |
validUntil |
|
) |
| const |
|
protectedvirtual |
Loads a group of entities into the cache for faster lookup.
The validUntil parameter will contain the smallest value found on output.
- Parameters
-
group | group definition |
validUntil | maximum expiration time of the group definition |
xmltooling::KeyInfoResolver* opensaml::saml2md::AbstractMetadataProvider::m_resolver |
|
protected |
Embedded KeyInfoResolver instance.
The documentation for this class was generated from the following file: