/*
- * Copyright 2001-2007 Internet2
+ * Copyright 2001-2009 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <saml/saml2/metadata/ObservableMetadataProvider.h>
-#include <xmltooling/security/Credential.h>
-#include <xmltooling/security/CredentialCriteria.h>
-#include <xmltooling/util/Threads.h>
+#include <ctime>
+#include <map>
+#include <vector>
+#include <string>
+
+namespace xmltooling {
+ class XMLTOOL_API Credential;
+ class XMLTOOL_API CredentialCriteria;
+ class XMLTOOL_API KeyInfoResolver;
+ class XMLTOOL_API Mutex;
+};
namespace opensaml {
namespace saml2md {
class SAML_API MetadataFilter;
+#if defined (_MSC_VER)
+ #pragma warning( push )
+ #pragma warning( disable : 4251 )
+#endif
+
/**
* Base class for caching metadata providers.
*/
using MetadataProvider::getEntitiesDescriptor;
void emitChangeEvent() 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;
const EntitiesDescriptor* getEntitiesDescriptor(const char* name, bool requireValidMetadata=true) const;
const xmltooling::Credential* resolve(const xmltooling::CredentialCriteria* criteria=NULL) const;
std::vector<const xmltooling::Credential*>::size_type resolve(
mutable credmap_t m_credentialMap;
const credmap_t::mapped_type& resolveCredentials(const RoleDescriptor& role) const;
};
+
+#if defined (_MSC_VER)
+ #pragma warning( pop )
+ #pragma warning( disable : 4251 )
+#endif
};
};