X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml2%2Fmetadata%2FChainingMetadataProvider.h;h=1310374344e7d862d84781d3c97f654349ca7cec;hb=17b312daa349580f67cc07fc190125224146cf14;hp=762987ab32104ecdb1ee19def9635b1b9d33488e;hpb=3e12b03ef5f4ad38074b127845f7b08c834cd3cc;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/saml2/metadata/ChainingMetadataProvider.h b/saml/saml2/metadata/ChainingMetadataProvider.h index 762987a..1310374 100644 --- a/saml/saml2/metadata/ChainingMetadataProvider.h +++ b/saml/saml2/metadata/ChainingMetadataProvider.h @@ -15,7 +15,7 @@ */ /** - * @file saml/security/ChainingMetadataProvider.h + * @file saml/saml2/metadata/ChainingMetadataProvider.h * * MetadataProvider that uses multiple providers in sequence. */ @@ -24,6 +24,7 @@ #define __saml_chainmeta_h__ #include +#include #include namespace opensaml { @@ -86,13 +87,15 @@ namespace opensaml { return NULL; } + using MetadataProvider::getEntityDescriptor; + using MetadataProvider::getEntitiesDescriptor; + xmltooling::Lockable* lock(); void unlock(); void init(); const xmltooling::XMLObject* getMetadata() const; const EntitiesDescriptor* getEntitiesDescriptor(const char* name, bool requireValidMetadata=true) const; - const EntityDescriptor* getEntityDescriptor(const char* id, bool requireValidMetadata=true) const; - const EntityDescriptor* getEntityDescriptor(const SAMLArtifact* artifact) const; + std::pair getEntityDescriptor(const Criteria& criteria) const; void onEvent(const ObservableMetadataProvider& provider) const; const xmltooling::Credential* resolve(const xmltooling::CredentialCriteria* criteria=NULL) const; @@ -101,8 +104,10 @@ namespace opensaml { ) const; private: + bool m_firstMatch; xmltooling::ThreadKey* m_tlsKey; std::vector m_providers; + xmltooling::logging::Category& m_log; }; #if defined (_MSC_VER)