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:
[legend]
Collaboration diagram for opensaml::saml2md::DiscoverableMetadataProvider:
[legend]

## Public Member Functions

virtual std::string | getCacheTag () const
| Returns the ETag associated with the cached feed.
virtual void | outputFeed (std::ostream &os, bool &first, bool wrapArray=true) const
| Outputs the cached feed.
Public Member Functions inherited from opensaml::saml2md::MetadataProvider
virtual | ~MetadataProvider ()
| Destructor will delete any installed filters.
virtual const char * | getId () const
| Returns an identifier for the provider for logging/status purposes.
virtual void | addMetadataFilter (MetadataFilter *newFilter)
| Adds a metadata filter to apply to any resolved metadata.
virtual MetadataFilter * | removeMetadataFilter (MetadataFilter *oldFilter)
| Removes a metadata filter.
void | setContext (const MetadataFilterContext *ctx)
| Sets a filtering context object for use by the filtering process.
virtual void | init ()=0
| Should be called after instantiating provider and adding filters, but before performing any lookup operations.
virtual void | outputStatus (std::ostream &os) const
| Generate an XML representation of the provider's status.
virtual const xmltooling::XMLObject * | getMetadata () const =0
| Gets the entire metadata tree, after the registered filter has been applied.
virtual const EntitiesDescriptor * | getEntitiesDescriptor (const XMLCh *name, bool requireValidMetadata=true) const
| Gets the metadata for a given group of entities.
virtual const EntitiesDescriptor * | getEntitiesDescriptor (const char *name, bool requireValidMetadata=true) const =0
| Gets the metadata for a given group of entities.
virtual std::pair< const EntityDescriptor *, const RoleDescriptor * > | getEntityDescriptor (const Criteria &criteria) const =0
| Gets entity metadata based on supplied criteria.

## Protected Member Functions

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

## Protected Attributes

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

## Detailed Description

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

## Constructor & Destructor Documentation

## DiscoverableMetadataProvider()

opensaml::saml2md::DiscoverableMetadataProvider::DiscoverableMetadataProvider | ( | const xercesc::DOMElement * | e = 0,
|  | bool | deprecationSupport = true )

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>
entityAttributes
  true iff tags found in <mdattr:EntityAttributes> extensions should be included in the feed
<DiscoveryFilter type="..." matcher="..." >
  Zero or more filters of type "Include" or "Exclude" that affect which entities get exposed by the feed. The actual matching is driven by an EntityMatcher plugin identified by the matcher attribute. Other element content will be present to configure that plugin.

Parameters

  e | DOM to supply configuration for provider
  deprecationSupport | true iff deprecated features and settings should be supported

## Member Function Documentation

## generateFeed()

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

protected virtual

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

The provider MUST be write-locked.

## getCacheTag()

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

## outputFeed()

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

  os | stream to output feed into
  first | on input, indicates if the feed is first in position, on output will be false if the feed was non-empty
  wrapArray | true iff the feed array should be opened/closed by this provider

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

- saml/saml2/metadata/DiscoverableMetadataProvider.h