#define __saml_chainmeta_h__
#include <saml/saml2/metadata/ObservableMetadataProvider.h>
+#include <xmltooling/logging.h>
#include <xmltooling/util/Threads.h>
namespace opensaml {
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<const EntityDescriptor*,const RoleDescriptor*> getEntityDescriptor(const Criteria& criteria) const;
void onEvent(const ObservableMetadataProvider& provider) const;
const xmltooling::Credential* resolve(const xmltooling::CredentialCriteria* criteria=NULL) const;
) const;
private:
+ bool m_firstMatch;
xmltooling::ThreadKey* m_tlsKey;
std::vector<MetadataProvider*> m_providers;
+ xmltooling::logging::Category& m_log;
};
#if defined (_MSC_VER)