Reducing header overuse, non-inlining selected methods (CPPOST-35).
[shibboleth/cpp-opensaml.git] / saml / saml2 / core / impl / Protocols20SchemaValidators.cpp
index 109f518..4478218 100644 (file)
@@ -1,5 +1,5 @@
 /*
-*  Copyright 2001-2006 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.
 /**
  * Protocols20SchemaValidators.cpp
  * 
- * Schema-based validators for SAML 2.0 Protocols classes
+ * Schema-based validators for SAML 2.0 Protocols classes.
  */
 
 #include "internal.h"
 #include "exceptions.h"
 #include "saml2/core/Protocols.h"
 
+#include <xmltooling/validation/Validator.h>
 #include <xmltooling/validation/ValidatorSuite.h>
 
 using namespace opensaml::saml2p;
@@ -85,7 +86,7 @@ namespace opensaml {
         BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,Extensions);
             if (!ptr->hasChildren())
                 throw ValidationException("Extensions must have at least one child element.");
-            const list<XMLObject*>& anys=ptr->getXMLObjects();
+            const vector<XMLObject*>& anys=ptr->getUnknownXMLObjects();
             for_each(anys.begin(),anys.end(),checkWildcardNS());
         END_XMLOBJECTVALIDATOR;
 
@@ -97,7 +98,7 @@ namespace opensaml {
             // then there are only 4 valid values per SAML Core.
             if (ptr->getParent()!=NULL && ptr->getParent()->getElementQName().hasLocalPart())
             {
-                QName pq = ptr->getParent()->getElementQName();
+                xmltooling::QName pq = ptr->getParent()->getElementQName();
 
                 if ( XMLString::equals(pq.getNamespaceURI(), SAML20P_NS) &&
                         XMLString::equals(pq.getLocalPart(), Status::LOCAL_NAME))
@@ -225,25 +226,25 @@ namespace opensaml {
 };
 
 #define REGISTER_ELEMENT(cname) \
-    q=QName(SAML20P_NS,cname::LOCAL_NAME); \
+    q=xmltooling::QName(SAML20P_NS,cname::LOCAL_NAME); \
     XMLObjectBuilder::registerBuilder(q,new cname##Builder()); \
     SchemaValidators.registerValidator(q,new cname##SchemaValidator())
     
 #define REGISTER_TYPE(cname) \
-    q=QName(SAML20P_NS,cname::TYPE_NAME); \
+    q=xmltooling::QName(SAML20P_NS,cname::TYPE_NAME); \
     XMLObjectBuilder::registerBuilder(q,new cname##Builder()); \
     SchemaValidators.registerValidator(q,new cname##SchemaValidator())
 
 #define REGISTER_ELEMENT_NOVAL(cname) \
-    q=QName(SAML20P_NS,cname::LOCAL_NAME); \
+    q=xmltooling::QName(SAML20P_NS,cname::LOCAL_NAME); \
     XMLObjectBuilder::registerBuilder(q,new cname##Builder());
     
 #define REGISTER_TYPE_NOVAL(cname) \
-    q=QName(SAML20P_NS,cname::TYPE_NAME); \
+    q=xmltooling::QName(SAML20P_NS,cname::TYPE_NAME); \
     XMLObjectBuilder::registerBuilder(q,new cname##Builder());
 
 void opensaml::saml2p::registerProtocolClasses() {
-    QName q;
+    xmltooling::QName q;
     REGISTER_ELEMENT(Artifact);
     REGISTER_ELEMENT(ArtifactResolve);
     REGISTER_ELEMENT(ArtifactResponse);
@@ -298,7 +299,7 @@ void opensaml::saml2p::registerProtocolClasses() {
     REGISTER_TYPE_NOVAL(StatusDetail);
     REGISTER_TYPE_NOVAL(Terminate);
 
-    q=QName(samlconstants::SAML20P_THIRDPARTY_EXT_NS,RespondTo::LOCAL_NAME);
+    q=xmltooling::QName(samlconstants::SAML20P_THIRDPARTY_EXT_NS,RespondTo::LOCAL_NAME);
     XMLObjectBuilder::registerBuilder(q,new RespondToBuilder());
     SchemaValidators.registerValidator(q,new RespondToSchemaValidator());
 }