Reducing header overuse, non-inlining selected methods (CPPOST-35).
[shibboleth/cpp-opensaml.git] / saml / saml2 / metadata / AbstractMetadataProvider.h
index 723da5d..2e5a7ca 100644 (file)
 
 #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 {
@@ -38,6 +42,11 @@ namespace opensaml {
         
         class SAML_API MetadataFilter;
 
+#if defined (_MSC_VER)
+        #pragma warning( push )
+        #pragma warning( disable : 4251 )
+#endif
+
         /**
          * Base class for caching metadata providers.
          */
@@ -117,6 +126,11 @@ namespace opensaml {
             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
         
     };
 };