Preserve xsi:type across clones.
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 22 Mar 2005 06:15:30 +0000 (06:15 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 22 Mar 2005 06:15:30 +0000 (06:15 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@1420 cb58f699-b61c-0410-a6fe-9272a202ed29

xmlproviders/ScopedAttribute.cpp
xmlproviders/internal.h

index d9891f1..8546ffc 100644 (file)
@@ -71,10 +71,10 @@ void ScopedAttribute::valueToDOM(unsigned int index, DOMElement* e) const
     e->setAttributeNS(NULL,SHIB_L(Scope),m_scopes[index]);
 }
 
-ScopedAttribute::ScopedAttribute(const XMLCh* name, const XMLCh* ns, long lifetime,
+ScopedAttribute::ScopedAttribute(const XMLCh* name, const XMLCh* ns, const saml::QName* type, long lifetime,
                                  const saml::Iterator<const XMLCh*>& scopes,
                                  const saml::Iterator<const XMLCh*>& values)
-    : SAMLAttribute(name,ns,NULL,lifetime,values)
+    : SAMLAttribute(name,ns,type,lifetime,values)
 {
     if (scopes.size()!=values.size())
         throw MalformedException(SAMLException::RESPONDER,"ScopedAttribute() requires the number of scopes to equal the number of values");
@@ -179,5 +179,5 @@ void ScopedAttribute::removeValue(unsigned int index)
 
 SAMLObject* ScopedAttribute::clone() const
 {
-    return new ScopedAttribute(m_name,m_namespace,m_lifetime,m_scopes,m_values);
+    return new ScopedAttribute(m_name,m_namespace,m_type,m_lifetime,m_scopes,m_values);
 }
index 96e469b..68b4ecd 100644 (file)
@@ -79,7 +79,7 @@ X509* B64_to_X509(const char* buf);
 class ScopedAttribute : public saml::SAMLAttribute
 {
 public:
-    ScopedAttribute(const XMLCh* name, const XMLCh* ns, long lifetime=0,
+    ScopedAttribute(const XMLCh* name, const XMLCh* ns, const saml::QName* type=NULL, long lifetime=0,
                     const saml::Iterator<const XMLCh*>& scopes=EMPTY(const XMLCh*),
                     const saml::Iterator<const XMLCh*>& values=EMPTY(const XMLCh*));
     ScopedAttribute(DOMElement* e);