[cpp-opensaml COMMIT] in /branches/REL_2/saml: saml1/core/impl/AssertionsImpl.cpp saml1/core/impl/ProtocolsImpl.cpp s...

noreply at shibboleth.net noreply at shibboleth.net
Sat Dec 24 04:34:35 GMT 2011


Author: scantor
Date: Sat Dec 24 04:34:35 2011
New Revision: 693

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

Modified:
    branches/REL_2/saml/saml1/core/impl/AssertionsImpl.cpp
    branches/REL_2/saml/saml1/core/impl/ProtocolsImpl.cpp
    branches/REL_2/saml/saml2/core/impl/Assertions20Impl.cpp
    branches/REL_2/saml/saml2/core/impl/Protocols20Impl.cpp
    branches/REL_2/saml/saml2/metadata/impl/MetadataImpl.cpp

Modified: branches/REL_2/saml/saml1/core/impl/AssertionsImpl.cpp
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml1/core/impl/AssertionsImpl.cpp?rev=693&r1=692&r2=693&view=diff
==============================================================================
--- branches/REL_2/saml/saml1/core/impl/AssertionsImpl.cpp (original)
+++ branches/REL_2/saml/saml1/core/impl/AssertionsImpl.cpp Sat Dec 24 04:34:35 2011
@@ -42,10 +42,12 @@
 #include <ctime>
 #include <limits.h>
 #include <boost/lexical_cast.hpp>
+#include <boost/lambda/bind.hpp>
+#include <boost/lambda/if.hpp>
+#include <boost/lambda/lambda.hpp>
 #include <xercesc/util/XMLUniDefs.hpp>
 
 using namespace opensaml::saml1;
-using namespace xmlsignature;
 using namespace xmltooling;
 using namespace std;
 using xmlconstants::XMLSIG_NS;
@@ -70,8 +72,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) {}
 
@@ -88,17 +89,11 @@
             virtual ~AudienceRestrictionConditionImpl() {}
 
             AudienceRestrictionConditionImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
-                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
-            }
+                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
 
             AudienceRestrictionConditionImpl(const AudienceRestrictionConditionImpl& src)
                     : AbstractXMLObject(src), AbstractComplexElement(src), AbstractDOMCachingXMLObject(src) {
-                VectorOf(Audience) v=getAudiences();
-                for (vector<Audience*>::const_iterator i=src.m_Audiences.begin(); i!=src.m_Audiences.end(); i++) {
-                    if (*i) {
-                        v.push_back((*i)->cloneAudience());
-                    }
-                }
+                IMPL_CLONE_TYPED_CHILDREN(Audience);
             }
 
             IMPL_XMLOBJECT_CLONE2(AudienceRestrictionCondition,Condition);
@@ -121,12 +116,10 @@
             virtual ~DoNotCacheConditionImpl() {}
 
             DoNotCacheConditionImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
-                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
-            }
+                : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
 
             DoNotCacheConditionImpl(const DoNotCacheConditionImpl& src)
-                : AbstractXMLObject(src), AbstractSimpleElement(src), AbstractDOMCachingXMLObject(src) {
-            }
+                : AbstractXMLObject(src), AbstractSimpleElement(src), AbstractDOMCachingXMLObject(src) {}
 
             IMPL_XMLOBJECT_CLONE2(DoNotCacheCondition,Condition);
         };
@@ -155,30 +148,13 @@
             ConditionsImpl(const ConditionsImpl& src)
                     : AbstractXMLObject(src), AbstractComplexElement(src), AbstractDOMCachingXMLObject(src) {
                 init();
-                setNotBefore(src.getNotBefore());
-                setNotOnOrAfter(src.getNotOnOrAfter());
-
-                for (list<XMLObject*>::const_iterator i=src.m_children.begin(); i!=src.m_children.end(); i++) {
-                    if (*i) {
-                        AudienceRestrictionCondition* arc=dynamic_cast<AudienceRestrictionCondition*>(*i);
-                        if (arc) {
-                            getAudienceRestrictionConditions().push_back(arc->cloneAudienceRestrictionCondition());
-                            continue;
-                        }
-
-                        DoNotCacheCondition* dncc=dynamic_cast<DoNotCacheCondition*>(*i);
-                        if (dncc) {
-                            getDoNotCacheConditions().push_back(dncc->cloneDoNotCacheCondition());
-                            continue;
-                        }
-
-                        Condition* c=dynamic_cast<Condition*>(*i);
-                        if (c) {
-                            getConditions().push_back(c->cloneCondition());
-                            continue;
-                        }
-                    }
-                }
+                IMPL_CLONE_ATTRIB(NotBefore);
+                IMPL_CLONE_ATTRIB(NotOnOrAfter);
+                IMPL_CLONE_CHILDBAG_BEGIN;

[... 1847 lines stripped ...]


More information about the commits mailing list