opensaml-2.4.3
opensaml::saml2md::DiscoverableMetadataProvider Class Reference

A metadata provider that provides a JSON feed of IdP discovery information. More...

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

Inheritance diagram for opensaml::saml2md::DiscoverableMetadataProvider:
opensaml::saml2md::MetadataProvider

Public Member Functions

virtual std::string getCacheTag () const
 Returns the ETag associated with the cached feed. More...
 
virtual void outputFeed (std::ostream &os, bool &first, bool wrapArray=true) const
 Outputs the cached feed. More...
 
- Public Member Functions inherited from opensaml::saml2md::MetadataProvider
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 MetadataFilterremoveMetadataFilter (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...
 
virtual const EntitiesDescriptor * getEntitiesDescriptor (const char *name, bool requireValidMetadata=true) const =0
 Gets the metadata for a given group of entities. More...
 
virtual std::pair< const
EntityDescriptor *, const
RoleDescriptor * > 
getEntityDescriptor (const Criteria &criteria) const =0
 Gets entity metadata based on supplied criteria. More...
 

Protected Member Functions

 DiscoverableMetadataProvider (const xercesc::DOMElement *e=nullptr)
 Constructor. More...
 
virtual void generateFeed ()
 Generates a JSON feed of IdP discovery information for the current metadata. More...
 
- Protected Member Functions inherited from opensaml::saml2md::MetadataProvider
 MetadataProvider (const xercesc::DOMElement *e=nullptr)
 Constructor. More...
 
void doFilters (xmltooling::XMLObject &xmlObject) const
 Applies any installed filters to a metadata instance. More...
 

Protected Attributes

std::string m_feed
 Storage for feed. More...
 
std::string m_feedTag
 ETag for feed. More...
 

Detailed Description

A metadata provider that provides a JSON feed of IdP discovery information.

Constructor & Destructor Documentation

opensaml::saml2md::DiscoverableMetadataProvider::DiscoverableMetadataProvider ( const xercesc::DOMElement *  e = nullptr)
protected

Constructor.

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

legacyOrgNames
true iff IdPs without a UIInfo extension should be identified using <md:OrganizationDisplayName>
Parameters
eDOM to supply configuration for provider

Member Function Documentation

virtual void opensaml::saml2md::DiscoverableMetadataProvider::generateFeed ( )
protectedvirtual

Generates a JSON feed of IdP discovery information for the current metadata.

The provider MUST be write-locked.

virtual std::string opensaml::saml2md::DiscoverableMetadataProvider::getCacheTag ( ) const
virtual

Returns the ETag associated with the cached feed.

The provider MUST be locked.

Returns
the ETag value for the current feed state
virtual void opensaml::saml2md::DiscoverableMetadataProvider::outputFeed ( std::ostream &  os,
bool &  first,
bool  wrapArray = true 
) const
virtual

Outputs the cached feed.

The provider MUST be locked.

Parameters
osstream to output feed into
firston input, indicates if the feed is first in position, on output will be false if the feed was non-empty
wrapArraytrue iff the feed array should be opened/closed by this provider

Member Data Documentation

std::string opensaml::saml2md::DiscoverableMetadataProvider::m_feed
protected

Storage for feed.

std::string opensaml::saml2md::DiscoverableMetadataProvider::m_feedTag
mutableprotected

ETag for feed.


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