<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>opensaml-2.5.2: opensaml::saml2md::AbstractMetadataProvider Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">opensaml-2.5.2 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('a00001.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="a00172.html">List of all members</a> </div> <div class="headertitle"> <div class="title">opensaml::saml2md::AbstractMetadataProvider Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>Base class for caching metadata providers. <a href="a00001.html#details">More...</a></p> <p><code>#include <saml/saml2/metadata/AbstractMetadataProvider.h></code></p> <div class="dynheader"> Inheritance diagram for opensaml::saml2md::AbstractMetadataProvider:</div> <div class="dyncontent"> <div class="center"> <img src="a00001.png" usemap="#opensaml::saml2md::AbstractMetadataProvider_map" alt=""/> <map id="opensaml::saml2md::AbstractMetadataProvider_map" name="opensaml::saml2md::AbstractMetadataProvider_map"> <area href="a00042.html" title="A metadata provider that notifies interested parties of changes. " alt="opensaml::saml2md::ObservableMetadataProvider" shape="rect" coords="0,112,292,136"/> <area href="a00040.html" title="Supplies an individual source of metadata. " alt="opensaml::saml2md::MetadataProvider" shape="rect" coords="0,56,292,80"/> <area href="a00021.html" title="Simple implementation of a dynamic, caching MetadataProvider. " alt="opensaml::saml2md::DynamicMetadataProvider" shape="rect" coords="0,224,292,248"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a959110368cb77b80d3bad4c8fbeedd50"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a959110368cb77b80d3bad4c8fbeedd50">outputStatus</a> (std::ostream &os) const </td></tr> <tr class="memdesc:a959110368cb77b80d3bad4c8fbeedd50"><td class="mdescLeft"> </td><td class="mdescRight">Generate an XML representation of the provider's status. <a href="#a959110368cb77b80d3bad4c8fbeedd50">More...</a><br/></td></tr> <tr class="separator:a959110368cb77b80d3bad4c8fbeedd50"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a14199c994a033665e420f3d3d414677c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14199c994a033665e420f3d3d414677c"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a14199c994a033665e420f3d3d414677c">emitChangeEvent</a> () const </td></tr> <tr class="memdesc:a14199c994a033665e420f3d3d414677c"><td class="mdescLeft"> </td><td class="mdescRight">Convenience method for notifying every registered Observer of an event. <br/></td></tr> <tr class="separator:a14199c994a033665e420f3d3d414677c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6a57e1114b92b590db737e898d6a575c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a57e1114b92b590db737e898d6a575c"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a6a57e1114b92b590db737e898d6a575c">emitChangeEvent</a> (const EntityDescriptor &) const </td></tr> <tr class="memdesc:a6a57e1114b92b590db737e898d6a575c"><td class="mdescLeft"> </td><td class="mdescRight">Convenience method for notifying every registered Observer of an event. <br/></td></tr> <tr class="separator:a6a57e1114b92b590db737e898d6a575c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5623fdca473af28152f5279cfa488a94"><td class="memItemLeft" align="right" valign="top">std::pair< const <br class="typebreak"/> EntityDescriptor *, const <br class="typebreak"/> RoleDescriptor * > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a5623fdca473af28152f5279cfa488a94">getEntityDescriptor</a> (const <a class="el" href="a00018.html">Criteria</a> &criteria) const </td></tr> <tr class="memdesc:a5623fdca473af28152f5279cfa488a94"><td class="mdescLeft"> </td><td class="mdescRight">Gets entity metadata based on supplied criteria. <a href="#a5623fdca473af28152f5279cfa488a94">More...</a><br/></td></tr> <tr class="separator:a5623fdca473af28152f5279cfa488a94"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9db08f89ac8acd067df9e33eeffa5234"><td class="memItemLeft" align="right" valign="top">const EntitiesDescriptor * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a9db08f89ac8acd067df9e33eeffa5234">getEntitiesDescriptor</a> (const char *name, bool requireValidMetadata=true) const </td></tr> <tr class="memdesc:a9db08f89ac8acd067df9e33eeffa5234"><td class="mdescLeft"> </td><td class="mdescRight">Gets the metadata for a given group of entities. <a href="#a9db08f89ac8acd067df9e33eeffa5234">More...</a><br/></td></tr> <tr class="separator:a9db08f89ac8acd067df9e33eeffa5234"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa7a3cf3e309fc7431f4e28c717aac28a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7a3cf3e309fc7431f4e28c717aac28a"></a> const xmltooling::Credential * </td><td class="memItemRight" valign="bottom"><b>resolve</b> (const xmltooling::CredentialCriteria *criteria=nullptr) const </td></tr> <tr class="separator:aa7a3cf3e309fc7431f4e28c717aac28a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a13b773c970442c96668c182c2cbe8db7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13b773c970442c96668c182c2cbe8db7"></a> std::vector< const <br class="typebreak"/> xmltooling::Credential * ><br class="typebreak"/> ::size_type </td><td class="memItemRight" valign="bottom"><b>resolve</b> (std::vector< const xmltooling::Credential * > &results, const xmltooling::CredentialCriteria *criteria=nullptr) const </td></tr> <tr class="separator:a13b773c970442c96668c182c2cbe8db7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_a00042"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00042')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00042.html">opensaml::saml2md::ObservableMetadataProvider</a></td></tr> <tr class="memitem:afa18d6f71046f3bc94b9e7faa1a1a7f2 inherit pub_methods_a00042"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#afa18d6f71046f3bc94b9e7faa1a1a7f2">addObserver</a> (const <a class="el" href="a00043.html">Observer</a> *newObserver) const </td></tr> <tr class="memdesc:afa18d6f71046f3bc94b9e7faa1a1a7f2 inherit pub_methods_a00042"><td class="mdescLeft"> </td><td class="mdescRight">Adds a metadata observer. <a href="#afa18d6f71046f3bc94b9e7faa1a1a7f2">More...</a><br/></td></tr> <tr class="separator:afa18d6f71046f3bc94b9e7faa1a1a7f2 inherit pub_methods_a00042"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a668688945cd1754ca4c479d699c31789 inherit pub_methods_a00042"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00043.html">Observer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a668688945cd1754ca4c479d699c31789">removeObserver</a> (const <a class="el" href="a00043.html">Observer</a> *oldObserver) const </td></tr> <tr class="memdesc:a668688945cd1754ca4c479d699c31789 inherit pub_methods_a00042"><td class="mdescLeft"> </td><td class="mdescRight">Removes a metadata observer. <a href="#a668688945cd1754ca4c479d699c31789">More...</a><br/></td></tr> <tr class="separator:a668688945cd1754ca4c479d699c31789 inherit pub_methods_a00042"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_a00040"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00040')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00040.html">opensaml::saml2md::MetadataProvider</a></td></tr> <tr class="memitem:aa420e88393390847885576b5d8157faa inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa420e88393390847885576b5d8157faa"></a> virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#aa420e88393390847885576b5d8157faa">~MetadataProvider</a> ()</td></tr> <tr class="memdesc:aa420e88393390847885576b5d8157faa inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Destructor will delete any installed filters. <br/></td></tr> <tr class="separator:aa420e88393390847885576b5d8157faa inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a15d2b03f927199face0fd455b2c21868 inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a15d2b03f927199face0fd455b2c21868">getId</a> () const </td></tr> <tr class="memdesc:a15d2b03f927199face0fd455b2c21868 inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Returns an identifier for the provider for logging/status purposes. <a href="#a15d2b03f927199face0fd455b2c21868">More...</a><br/></td></tr> <tr class="separator:a15d2b03f927199face0fd455b2c21868 inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a232cddca76b68d7e6b72841171e2a2af inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a232cddca76b68d7e6b72841171e2a2af">addMetadataFilter</a> (<a class="el" href="a00038.html">MetadataFilter</a> *newFilter)</td></tr> <tr class="memdesc:a232cddca76b68d7e6b72841171e2a2af inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Adds a metadata filter to apply to any resolved metadata. <a href="#a232cddca76b68d7e6b72841171e2a2af">More...</a><br/></td></tr> <tr class="separator:a232cddca76b68d7e6b72841171e2a2af inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8ba520d18dfe0d72343e9ece439a564 inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00038.html">MetadataFilter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#aa8ba520d18dfe0d72343e9ece439a564">removeMetadataFilter</a> (<a class="el" href="a00038.html">MetadataFilter</a> *oldFilter)</td></tr> <tr class="memdesc:aa8ba520d18dfe0d72343e9ece439a564 inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Removes a metadata filter. <a href="#aa8ba520d18dfe0d72343e9ece439a564">More...</a><br/></td></tr> <tr class="separator:aa8ba520d18dfe0d72343e9ece439a564 inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a46070e7111047039e3df52765e56058c inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a46070e7111047039e3df52765e56058c">setContext</a> (const <a class="el" href="a00039.html">MetadataFilterContext</a> *ctx)</td></tr> <tr class="memdesc:a46070e7111047039e3df52765e56058c inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Sets a filtering context object for use by the filtering process. <a href="#a46070e7111047039e3df52765e56058c">More...</a><br/></td></tr> <tr class="separator:a46070e7111047039e3df52765e56058c inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a761aef228223cc70f6e4e96b07faebdb inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a761aef228223cc70f6e4e96b07faebdb">init</a> ()=0</td></tr> <tr class="memdesc:a761aef228223cc70f6e4e96b07faebdb inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Should be called after instantiating provider and adding filters, but before performing any lookup operations. <a href="#a761aef228223cc70f6e4e96b07faebdb">More...</a><br/></td></tr> <tr class="separator:a761aef228223cc70f6e4e96b07faebdb inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4347b18c703af6d245d3b1d07831af8d inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/> xmltooling::XMLObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a4347b18c703af6d245d3b1d07831af8d">getMetadata</a> () const =0</td></tr> <tr class="memdesc:a4347b18c703af6d245d3b1d07831af8d inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Gets the entire metadata tree, after the registered filter has been applied. <a href="#a4347b18c703af6d245d3b1d07831af8d">More...</a><br/></td></tr> <tr class="separator:a4347b18c703af6d245d3b1d07831af8d inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acca143335fa55f7ed0bf956d8b509922 inherit pub_methods_a00040"><td class="memItemLeft" align="right" valign="top">virtual const EntitiesDescriptor * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#acca143335fa55f7ed0bf956d8b509922">getEntitiesDescriptor</a> (const XMLCh *name, bool requireValidMetadata=true) const </td></tr> <tr class="memdesc:acca143335fa55f7ed0bf956d8b509922 inherit pub_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Gets the metadata for a given group of entities. <a href="#acca143335fa55f7ed0bf956d8b509922">More...</a><br/></td></tr> <tr class="separator:acca143335fa55f7ed0bf956d8b509922 inherit pub_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:a6f9988bb16af9dfe989af17510cab703"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a6f9988bb16af9dfe989af17510cab703">AbstractMetadataProvider</a> (const xercesc::DOMElement *e=nullptr)</td></tr> <tr class="memdesc:a6f9988bb16af9dfe989af17510cab703"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a6f9988bb16af9dfe989af17510cab703">More...</a><br/></td></tr> <tr class="separator:a6f9988bb16af9dfe989af17510cab703"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07bcc42c28837a69eb2c893d5d52e1f0"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a07bcc42c28837a69eb2c893d5d52e1f0">indexEntity</a> (EntityDescriptor *site, time_t &validUntil, bool replace=false) const </td></tr> <tr class="memdesc:a07bcc42c28837a69eb2c893d5d52e1f0"><td class="mdescLeft"> </td><td class="mdescRight">Loads an entity into the cache for faster lookup. <a href="#a07bcc42c28837a69eb2c893d5d52e1f0">More...</a><br/></td></tr> <tr class="separator:a07bcc42c28837a69eb2c893d5d52e1f0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a51aea93a8f9d5aa3f1dcc89fe55e09db"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a51aea93a8f9d5aa3f1dcc89fe55e09db">indexGroup</a> (EntitiesDescriptor *group, time_t &validUntil) const </td></tr> <tr class="memdesc:a51aea93a8f9d5aa3f1dcc89fe55e09db"><td class="mdescLeft"> </td><td class="mdescRight">Loads a group of entities into the cache for faster lookup. <a href="#a51aea93a8f9d5aa3f1dcc89fe55e09db">More...</a><br/></td></tr> <tr class="separator:a51aea93a8f9d5aa3f1dcc89fe55e09db"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5d5507d87ad921c91865f1841ef69cd2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a5d5507d87ad921c91865f1841ef69cd2">index</a> (EntityDescriptor *site, time_t validUntil, bool replace=false) const </td></tr> <tr class="separator:a5d5507d87ad921c91865f1841ef69cd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1c41fa01965a04ef4817673a604abc51"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a1c41fa01965a04ef4817673a604abc51">index</a> (EntitiesDescriptor *group, time_t validUntil) const </td></tr> <tr class="separator:a1c41fa01965a04ef4817673a604abc51"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa0192295163a8e9068261e4ffc814d39"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#aa0192295163a8e9068261e4ffc814d39">clearDescriptorIndex</a> (bool freeSites=false)</td></tr> <tr class="memdesc:aa0192295163a8e9068261e4ffc814d39"><td class="mdescLeft"> </td><td class="mdescRight">Clear the cache of known entities and groups. <a href="#aa0192295163a8e9068261e4ffc814d39">More...</a><br/></td></tr> <tr class="separator:aa0192295163a8e9068261e4ffc814d39"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pro_methods_a00042"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00042')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00042.html">opensaml::saml2md::ObservableMetadataProvider</a></td></tr> <tr class="memitem:a51038a80bfe8829b0deafdff0bc0aa94 inherit pro_methods_a00042"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a51038a80bfe8829b0deafdff0bc0aa94">ObservableMetadataProvider</a> (const xercesc::DOMElement *e=nullptr)</td></tr> <tr class="memdesc:a51038a80bfe8829b0deafdff0bc0aa94 inherit pro_methods_a00042"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a51038a80bfe8829b0deafdff0bc0aa94">More...</a><br/></td></tr> <tr class="separator:a51038a80bfe8829b0deafdff0bc0aa94 inherit pro_methods_a00042"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pro_methods_a00040"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00040')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00040.html">opensaml::saml2md::MetadataProvider</a></td></tr> <tr class="memitem:a673011f22f0e539f9b198867f94952ed inherit pro_methods_a00040"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a673011f22f0e539f9b198867f94952ed">MetadataProvider</a> (const xercesc::DOMElement *e=nullptr)</td></tr> <tr class="memdesc:a673011f22f0e539f9b198867f94952ed inherit pro_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a673011f22f0e539f9b198867f94952ed">More...</a><br/></td></tr> <tr class="separator:a673011f22f0e539f9b198867f94952ed inherit pro_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa7221c067333956e50af402f12a86ae6 inherit pro_methods_a00040"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#aa7221c067333956e50af402f12a86ae6">doFilters</a> (xmltooling::XMLObject &xmlObject) const </td></tr> <tr class="memdesc:aa7221c067333956e50af402f12a86ae6 inherit pro_methods_a00040"><td class="mdescLeft"> </td><td class="mdescRight">Applies any installed filters to a metadata instance. <a href="#aa7221c067333956e50af402f12a86ae6">More...</a><br/></td></tr> <tr class="separator:aa7221c067333956e50af402f12a86ae6 inherit pro_methods_a00040"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr class="memitem:a0064114276d0d42913cdea082fd67bb6"><td class="memItemLeft" align="right" valign="top">time_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#a0064114276d0d42913cdea082fd67bb6">m_lastUpdate</a></td></tr> <tr class="memdesc:a0064114276d0d42913cdea082fd67bb6"><td class="mdescLeft"> </td><td class="mdescRight">Time of last update for reporting. <a href="#a0064114276d0d42913cdea082fd67bb6">More...</a><br/></td></tr> <tr class="separator:a0064114276d0d42913cdea082fd67bb6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed6cec2720cd2c8ebc77513124e320f7"><td class="memItemLeft" align="right" valign="top">xmltooling::KeyInfoResolver * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#aed6cec2720cd2c8ebc77513124e320f7">m_resolver</a></td></tr> <tr class="memdesc:aed6cec2720cd2c8ebc77513124e320f7"><td class="mdescLeft"> </td><td class="mdescRight">Embedded KeyInfoResolver instance. <a href="#aed6cec2720cd2c8ebc77513124e320f7">More...</a><br/></td></tr> <tr class="separator:aed6cec2720cd2c8ebc77513124e320f7"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Base class for caching metadata providers. </p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a6f9988bb16af9dfe989af17510cab703"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">opensaml::saml2md::AbstractMetadataProvider::AbstractMetadataProvider </td> <td>(</td> <td class="paramtype">const xercesc::DOMElement * </td> <td class="paramname"><em>e</em> = <code>nullptr</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructor. </p> <p>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.</p> <p>The following XML content is supported:</p> <ul> <li> <KeyInfoResolver> elements with a type attribute </li> </ul> <p>XML namespaces are ignored in the processing of these elements.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>DOM to supply configuration for provider </td></tr> </table> </dd> </dl> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="aa0192295163a8e9068261e4ffc814d39"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void opensaml::saml2md::AbstractMetadataProvider::clearDescriptorIndex </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>freeSites</em> = <code>false</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Clear the cache of known entities and groups. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">freeSites</td><td>true iff the objects cached in the site map should be freed. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a9db08f89ac8acd067df9e33eeffa5234"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const EntitiesDescriptor* opensaml::saml2md::AbstractMetadataProvider::getEntitiesDescriptor </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>requireValidMetadata</em> = <code>true</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Gets the metadata for a given group of entities. </p> <p>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.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">name</td><td>the name of the group </td></tr> <tr><td class="paramname">requireValidMetadata</td><td>indicates whether the metadata for the group must be valid/current</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the group's metadata or nullptr if there is no metadata or no valid metadata </dd></dl> <p>Implements <a class="el" href="a00040.html#a6bda34e90cc452745103f8ad3c9c8edd">opensaml::saml2md::MetadataProvider</a>.</p> </div> </div> <a class="anchor" id="a5623fdca473af28152f5279cfa488a94"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::pair<const EntityDescriptor*,const RoleDescriptor*> opensaml::saml2md::AbstractMetadataProvider::getEntityDescriptor </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00018.html">Criteria</a> & </td> <td class="paramname"><em>criteria</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Gets entity metadata based on supplied criteria. </p> <p>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.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">criteria</td><td>lookup criteria</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the entity's metadata (and optionally a role) or nullptr if there is no qualifying metadata </dd></dl> <p>Implements <a class="el" href="a00040.html#ac4389cf13abb6f6ebcdfa76130701c0d">opensaml::saml2md::MetadataProvider</a>.</p> <p>Reimplemented in <a class="el" href="a00021.html#a7d3841c661b5c0b79d229a3072c03dd2">opensaml::saml2md::DynamicMetadataProvider</a>.</p> </div> </div> <a class="anchor" id="a5d5507d87ad921c91865f1841ef69cd2"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void opensaml::saml2md::AbstractMetadataProvider::index </td> <td>(</td> <td class="paramtype">EntityDescriptor * </td> <td class="paramname"><em>site</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t </td> <td class="paramname"><em>validUntil</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>replace</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="deprecated"><dt><b><a class="el" href="a00131.html#_deprecated000003">Deprecated:</a></b></dt><dd>Loads an entity into the cache for faster lookup. </dd></dl> <p>This includes processing known reverse lookup strategies for artifacts.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">site</td><td>entity definition </td></tr> <tr><td class="paramname">validUntil</td><td>maximum expiration time of the entity definition </td></tr> <tr><td class="paramname">replace</td><td>true iff existing entries for the same entity should be cleared/replaced </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a1c41fa01965a04ef4817673a604abc51"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void opensaml::saml2md::AbstractMetadataProvider::index </td> <td>(</td> <td class="paramtype">EntitiesDescriptor * </td> <td class="paramname"><em>group</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t </td> <td class="paramname"><em>validUntil</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="deprecated"><dt><b><a class="el" href="a00131.html#_deprecated000004">Deprecated:</a></b></dt><dd>Loads a group of entities into the cache for faster lookup.</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">group</td><td>group definition </td></tr> <tr><td class="paramname">validUntil</td><td>maximum expiration time of the group definition </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a07bcc42c28837a69eb2c893d5d52e1f0"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void opensaml::saml2md::AbstractMetadataProvider::indexEntity </td> <td>(</td> <td class="paramtype">EntityDescriptor * </td> <td class="paramname"><em>site</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t & </td> <td class="paramname"><em>validUntil</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>replace</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Loads an entity into the cache for faster lookup. </p> <p>This includes processing known reverse lookup strategies for artifacts. The validUntil parameter will contain the smallest value found on output.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">site</td><td>entity definition </td></tr> <tr><td class="paramname">validUntil</td><td>maximum expiration time of the entity definition </td></tr> <tr><td class="paramname">replace</td><td>true iff existing entries for the same entity should be cleared/replaced </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a51aea93a8f9d5aa3f1dcc89fe55e09db"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void opensaml::saml2md::AbstractMetadataProvider::indexGroup </td> <td>(</td> <td class="paramtype">EntitiesDescriptor * </td> <td class="paramname"><em>group</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t & </td> <td class="paramname"><em>validUntil</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Loads a group of entities into the cache for faster lookup. </p> <p>The validUntil parameter will contain the smallest value found on output.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">group</td><td>group definition </td></tr> <tr><td class="paramname">validUntil</td><td>maximum expiration time of the group definition </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a959110368cb77b80d3bad4c8fbeedd50"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void opensaml::saml2md::AbstractMetadataProvider::outputStatus </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"><em>os</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generate an XML representation of the provider's status. </p> <p>The XML must be well-formed, but is otherwise arbitrary.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">os</td><td>stream to write status information to </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="a00040.html#a85ffae9c6ba91fe7632e0f648a301cf5">opensaml::saml2md::MetadataProvider</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="a0064114276d0d42913cdea082fd67bb6"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">time_t opensaml::saml2md::AbstractMetadataProvider::m_lastUpdate</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Time of last update for reporting. </p> </div> </div> <a class="anchor" id="aed6cec2720cd2c8ebc77513124e320f7"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">xmltooling::KeyInfoResolver* opensaml::saml2md::AbstractMetadataProvider::m_resolver</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Embedded KeyInfoResolver instance. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>saml/saml2/metadata/<a class="el" href="a00100.html">AbstractMetadataProvider.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="a00119.html">opensaml</a></li><li class="navelem"><a class="el" href="a00123.html">saml2md</a></li><li class="navelem"><a class="el" href="a00001.html">AbstractMetadataProvider</a></li> <li class="footer">Generated on Sat Oct 19 2013 08:32:21 for opensaml-2.5.2 by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li> </ul> </div> </body> </html>