Remove extra reference to doc/api.
[shibboleth/cpp-opensaml.git] / saml / saml2 / metadata / ChainingMetadataProvider.h
index 5dc0f46..1310374 100644 (file)
@@ -24,6 +24,7 @@
 #define __saml_chainmeta_h__
 
 #include <saml/saml2/metadata/ObservableMetadataProvider.h>
+#include <xmltooling/logging.h>
 #include <xmltooling/util/Threads.h>
 
 namespace opensaml {
@@ -94,8 +95,7 @@ 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;
@@ -104,8 +104,10 @@ namespace opensaml {
                 ) const;
 
         private:
+            bool m_firstMatch;
             xmltooling::ThreadKey* m_tlsKey;
             std::vector<MetadataProvider*> m_providers;
+            xmltooling::logging::Category& m_log;
         };
 
 #if defined (_MSC_VER)