[cpp-opensaml COMMIT] in /branches/REL_2: saml/saml2/core/impl/Assertions20Impl.cpp samltest/internal.h

noreply at shibboleth.net noreply at shibboleth.net
Fri Dec 23 03:51:00 GMT 2011


Author: scantor
Date: Fri Dec 23 03:51:00 2011
New Revision: 692

URL: http://svn.shibboleth.net/view/cpp-opensaml?rev=692&view=rev
Log:
Clone macros

Modified:
    branches/REL_2/saml/saml2/core/impl/Assertions20Impl.cpp
    branches/REL_2/samltest/internal.h

Modified: branches/REL_2/saml/saml2/core/impl/Assertions20Impl.cpp
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/core/impl/Assertions20Impl.cpp?rev=692&r1=691&r2=692&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/core/impl/Assertions20Impl.cpp (original)
+++ branches/REL_2/saml/saml2/core/impl/Assertions20Impl.cpp Fri Dec 23 03:51:00 2011
@@ -41,6 +41,9 @@
 #include <xmltooling/util/XMLHelper.h>
 
 #include <ctime>
+#include <boost/lambda/bind.hpp>
+#include <boost/lambda/if.hpp>
+#include <boost/lambda/lambda.hpp>
 #include <xercesc/util/XMLUniDefs.hpp>
 
 using namespace opensaml::saml2;
@@ -105,10 +108,10 @@
             }
 
             void _clone(const NameIDTypeImpl& src) {
-                setNameQualifier(src.getNameQualifier());
-                setSPNameQualifier(src.getSPNameQualifier());
-                setFormat(src.getFormat());
-                setSPProvidedID(src.getSPProvidedID());
+                IMPL_CLONE_ATTRIB(NameQualifier);
+                IMPL_CLONE_ATTRIB(SPNameQualifier);
+                IMPL_CLONE_ATTRIB(Format);
+                IMPL_CLONE_ATTRIB(SPProvidedID);
             }
 
             IMPL_XMLOBJECT_CLONE_EX(NameIDType);
@@ -142,8 +145,7 @@
             NameIDImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
                 : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
 
-            NameIDImpl(const NameIDImpl& src) : AbstractXMLObject(src), NameIDTypeImpl(src) {
-            }
+            NameIDImpl(const NameIDImpl& src) : AbstractXMLObject(src), NameIDTypeImpl(src) {}
 
             IMPL_XMLOBJECT_CLONE_EX(NameID);
         };
@@ -156,14 +158,11 @@
             IssuerImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
                 : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
 
-            IssuerImpl(const IssuerImpl& src) : AbstractXMLObject(src), NameIDTypeImpl(src) {
-            }
+            IssuerImpl(const IssuerImpl& src) : AbstractXMLObject(src), NameIDTypeImpl(src) {}
 
             IMPL_XMLOBJECT_CLONE_EX(Issuer);
         };
 
-        //TODO unit test for this
-        //  - need to test encryption/decryption too, or already done in xmltooling ?
         class SAML_DLLLOCAL EncryptedElementTypeImpl : public virtual EncryptedElementType,
             public AbstractComplexElement,
             public AbstractDOMCachingXMLObject,
@@ -195,13 +194,8 @@
             }
 
             void _clone(const EncryptedElementTypeImpl& src) {
-                if (src.getEncryptedData())
-                    setEncryptedData(src.getEncryptedData()->cloneEncryptedData());
-                for (vector<EncryptedKey*>::const_iterator i=src.m_EncryptedKeys.begin(); i!=src.m_EncryptedKeys.end(); i++) {
-                    if (*i) {
-                        getEncryptedKeys().push_back((*i)->cloneEncryptedKey());
-                    }
-                }
+                IMPL_CLONE_TYPED_CHILD(EncryptedData);
+                IMPL_CLONE_TYPED_FOREIGN_CHILDREN(EncryptedKey,xmlencryption);
             }
 
             IMPL_XMLOBJECT_CLONE_EX(EncryptedElementType);
@@ -224,8 +218,7 @@
             EncryptedIDImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
                 : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
 
-            EncryptedIDImpl(const EncryptedIDImpl& src) : AbstractXMLObject(src), EncryptedElementTypeImpl(src) {
-            }
+            EncryptedIDImpl(const EncryptedIDImpl& src) : AbstractXMLObject(src), EncryptedElementTypeImpl(src) {}
 
             IMPL_XMLOBJECT_CLONE_EX(EncryptedID);
         };
@@ -236,8 +229,7 @@
             virtual ~ConditionImpl() {}
 
             ConditionImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
-                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
-            }
+                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
 
             ConditionImpl(const ConditionImpl& src) : AbstractXMLObject(src), AnyElementImpl(src) {}
 
@@ -254,16 +246,11 @@
             virtual ~AudienceRestrictionImpl() {}
 
             AudienceRestrictionImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
-                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
-            }
+                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
 
             AudienceRestrictionImpl(const AudienceRestrictionImpl& src)

[... 603 lines stripped ...]


More information about the commits mailing list