}
StatusCodeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
virtual ~StatusDetailImpl() {}
StatusDetailImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType) { }
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
+ }
StatusDetailImpl(const StatusDetailImpl& src)
: AbstractXMLObject(src), AbstractComplexElement(src), AbstractDOMCachingXMLObject(src) {
IMPL_TYPED_CHILD(StatusDetail);
protected:
-
void processChildElement(XMLObject* childXMLObject, const DOMElement* root) {
PROC_TYPED_CHILD(StatusCode,SAML20P_NS,false);
PROC_TYPED_CHILD(StatusMessage,SAML20P_NS,false);
PROC_TYPED_CHILD(StatusDetail,SAML20P_NS,false);
AbstractXMLObjectUnmarshaller::processChildElement(childXMLObject,root);
}
-
};
RequestAbstractTypeImpl(const RequestAbstractTypeImpl& src)
: AbstractXMLObject(src), AbstractComplexElement(src), AbstractDOMCachingXMLObject(src) {
init();
+ }
+
+ void _clone(const RequestAbstractTypeImpl& src) {
setID(src.getID());
setVersion(src.getVersion());
setIssueInstant(src.getIssueInstant());
if (m_Signature)
m_Signature->setContentReference(new opensaml::ContentReference(*this));
}
+
+ RequestAbstractType* cloneRequestAbstractType() const {
+ return dynamic_cast<RequestAbstractType*>(clone());
+ }
IMPL_STRING_ATTRIB(Version);
IMPL_ID_ATTRIB_EX(ID,ID,nullptr);
: AbstractXMLObject(nsURI, localName, prefix, schemaType) { }
AssertionIDRequestImpl(const AssertionIDRequestImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) {
+ }
+
+ void _clone(const AssertionIDRequestImpl& src) {
+ RequestAbstractTypeImpl::_clone(src);
VectorOf(AssertionIDRef) v=getAssertionIDRefs();
for (vector<AssertionIDRef*>::const_iterator i=src.m_AssertionIDRefs.begin(); i!=src.m_AssertionIDRefs.end(); i++) {
if (*i) {
v.push_back((*i)->cloneAssertionIDRef());
}
}
-
}
- IMPL_XMLOBJECT_CLONE(AssertionIDRequest);
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneAssertionIDRequest();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(AssertionIDRequest);
IMPL_TYPED_FOREIGN_CHILDREN(AssertionIDRef,saml2,m_children.end());
protected:
class SAML_DLLLOCAL SubjectQueryImpl : public virtual SubjectQuery, public RequestAbstractTypeImpl
{
- void init()
- {
+ void init() {
m_Subject = nullptr;
m_children.push_back(nullptr);
m_pos_Subject = m_pos_Extensions;
virtual ~SubjectQueryImpl() { }
SubjectQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
SubjectQueryImpl(const SubjectQueryImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) {
init();
+ }
+
+ void _clone(const SubjectQueryImpl& src) {
+ RequestAbstractTypeImpl::_clone(src);
if (src.getSubject())
setSubject(src.getSubject()->cloneSubject());
}
+ SubjectQuery* cloneSubjectQuery() const {
+ return dynamic_cast<SubjectQuery*>(clone());
+ }
+
IMPL_TYPED_FOREIGN_CHILD(Subject,saml2);
protected:
}
};
-
class SAML_DLLLOCAL RequestedAuthnContextImpl : public virtual RequestedAuthnContext,
public AbstractComplexElement,
public AbstractDOMCachingXMLObject,
}
};
-
class SAML_DLLLOCAL AuthnQueryImpl : public virtual AuthnQuery, public SubjectQueryImpl
{
void init() {
}
AuthnQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
AuthnQueryImpl(const AuthnQueryImpl& src) : AbstractXMLObject(src), SubjectQueryImpl(src) {
init();
+ }
+
+ void _clone(const AuthnQueryImpl& src) {
+ SubjectQueryImpl::_clone(src);
setSessionIndex(src.getSessionIndex());
if (src.getRequestedAuthnContext())
setRequestedAuthnContext(src.getRequestedAuthnContext()->cloneRequestedAuthnContext());
}
- IMPL_XMLOBJECT_CLONE(AuthnQuery);
- SubjectQuery* cloneSubjectQuery() const {
- return cloneAuthnQuery();
- }
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneAuthnQuery();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(AuthnQuery);
IMPL_STRING_ATTRIB(SessionIndex);
IMPL_TYPED_CHILD(RequestedAuthnContext);
: AbstractXMLObject(nsURI, localName, prefix, schemaType) { }
AttributeQueryImpl(const AttributeQueryImpl& src) : AbstractXMLObject(src), SubjectQueryImpl(src) {
+ }
+
+ void _clone(const AttributeQueryImpl& src) {
+ SubjectQueryImpl::_clone(src);
for (list<XMLObject*>::const_iterator i=src.m_children.begin(); i!=src.m_children.end(); i++) {
if (*i) {
Attribute* attrib=dynamic_cast<Attribute*>(*i);
}
}
}
-
}
- IMPL_XMLOBJECT_CLONE(AttributeQuery);
- SubjectQuery* cloneSubjectQuery() const {
- return cloneAttributeQuery();
- }
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneAttributeQuery();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(AttributeQuery);
IMPL_TYPED_FOREIGN_CHILDREN(Attribute,saml2,m_children.end());
protected:
AuthzDecisionQueryImpl(const AuthzDecisionQueryImpl& src) : AbstractXMLObject(src), SubjectQueryImpl(src) {
init();
+ }
+
+ void _clone(const AuthzDecisionQueryImpl& src) {
+ SubjectQueryImpl::_clone(src);
setResource(src.getResource());
if (src.getEvidence())
setEvidence(src.getEvidence()->cloneEvidence());
}
}
- IMPL_XMLOBJECT_CLONE(AuthzDecisionQuery);
- SubjectQuery* cloneSubjectQuery() const {
- return cloneAuthzDecisionQuery();
- }
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneAuthzDecisionQuery();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(AuthzDecisionQuery);
IMPL_STRING_ATTRIB(Resource);
IMPL_TYPED_FOREIGN_CHILDREN(Action,saml2,m_pos_Evidence);
IMPL_TYPED_FOREIGN_CHILD(Evidence,saml2);
}
AuthnRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
AuthnRequestImpl(const AuthnRequestImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) {
init();
+ }
+ void _clone(const AuthnRequestImpl& src) {
+ RequestAbstractTypeImpl::_clone(src);
ForceAuthn(m_ForceAuthn);
IsPassive(m_IsPassive);
setProtocolBinding(src.getProtocolBinding());
setAssertionConsumerServiceURL(src.getAssertionConsumerServiceURL());
setAttributeConsumingServiceIndex(m_AttributeConsumingServiceIndex);
setProviderName(src.getProviderName());
-
if (src.getSubject())
setSubject(src.getSubject()->cloneSubject());
if (src.getNameIDPolicy())
setScoping(src.getScoping()->cloneScoping());
}
- IMPL_XMLOBJECT_CLONE(AuthnRequest);
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneAuthnRequest();
- }
+ IMPL_XMLOBJECT_CLONE_EX(AuthnRequest);
IMPL_BOOLEAN_ATTRIB(ForceAuthn);
IMPL_BOOLEAN_ATTRIB(IsPassive);
}
StatusResponseTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
StatusResponseTypeImpl(const StatusResponseTypeImpl& src)
: AbstractXMLObject(src), AbstractComplexElement(src), AbstractDOMCachingXMLObject(src) {
init();
+ }
+
+ void _clone(const StatusResponseTypeImpl& src) {
setID(src.getID());
setInResponseTo(src.getInResponseTo());
setVersion(src.getVersion());
m_Signature->setContentReference(new opensaml::ContentReference(*this));
}
+ StatusResponseType* cloneStatusResponseType() const {
+ return dynamic_cast<StatusResponseType*>(clone());
+ }
+
IMPL_STRING_ATTRIB(Version);
IMPL_ID_ATTRIB_EX(ID,ID,nullptr);
IMPL_STRING_ATTRIB(InResponseTo);
: AbstractXMLObject(nsURI, localName, prefix, schemaType) { }
ResponseImpl(const ResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) {
+ }
+
+ void _clone(const ResponseImpl& src) {
+ StatusResponseTypeImpl::_clone(src);
for (list<XMLObject*>::const_iterator i=src.m_children.begin(); i!=src.m_children.end(); i++) {
if (*i) {
saml2::Assertion* assertion=dynamic_cast<saml2::Assertion*>(*i);
}
}
}
-
}
- IMPL_XMLOBJECT_CLONE(Response);
- StatusResponseType* cloneStatusResponseType() const {
- return cloneResponse();
- }
+ IMPL_XMLOBJECT_CLONE_EX(Response);
IMPL_TYPED_FOREIGN_CHILDREN(Assertion,saml2,m_children.end());
IMPL_TYPED_FOREIGN_CHILDREN(EncryptedAssertion,saml2,m_children.end());
virtual ~ArtifactResolveImpl() { }
ArtifactResolveImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
ArtifactResolveImpl(const ArtifactResolveImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) {
init();
+ }
+
+ void _clone(const ArtifactResolveImpl& src) {
+ RequestAbstractTypeImpl::_clone(src);
if(src.getArtifact())
setArtifact(src.getArtifact()->cloneArtifact());
}
- IMPL_XMLOBJECT_CLONE(ArtifactResolve);
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneArtifactResolve();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(ArtifactResolve);
IMPL_TYPED_CHILD(Artifact);
protected:
virtual ~ArtifactResponseImpl() { }
ArtifactResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
ArtifactResponseImpl(const ArtifactResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) {
init();
+ }
+
+ void _clone(const ArtifactResponseImpl& src) {
+ StatusResponseTypeImpl::_clone(src);
if (src.getPayload())
setPayload(getPayload()->clone());
-
}
- IMPL_XMLOBJECT_CLONE(ArtifactResponse);
- StatusResponseType* cloneStatusResponseType() const {
- return cloneArtifactResponse();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(ArtifactResponse);
IMPL_XMLOBJECT_CHILD(Payload);
protected:
void processChildElement(XMLObject* childXMLObject, const DOMElement* root) {
// These are valid elements for the parent StatusResponseType, so don't process these.
// If not one of these, then it must be the payload.
- if (
- ! XMLHelper::isNodeNamed(root,SAML20_NS,saml2::Issuer::LOCAL_NAME) &&
- ! XMLHelper::isNodeNamed(root,XMLSIG_NS,xmlsignature::Signature::LOCAL_NAME) &&
- ! XMLHelper::isNodeNamed(root,SAML20P_NS,saml2p::Extensions::LOCAL_NAME) &&
- ! XMLHelper::isNodeNamed(root,SAML20P_NS,saml2p::Status::LOCAL_NAME)
- )
- {
+ if (!XMLHelper::isNodeNamed(root,SAML20_NS,saml2::Issuer::LOCAL_NAME) &&
+ !XMLHelper::isNodeNamed(root,XMLSIG_NS,xmlsignature::Signature::LOCAL_NAME) &&
+ !XMLHelper::isNodeNamed(root,SAML20P_NS,saml2p::Extensions::LOCAL_NAME) &&
+ !XMLHelper::isNodeNamed(root,SAML20P_NS,saml2p::Status::LOCAL_NAME)) {
setPayload(childXMLObject);
return;
}
}
protected:
- NewEncryptedIDImpl()
- {
+ NewEncryptedIDImpl() {
init();
}
virtual ~NewEncryptedIDImpl() {}
NewEncryptedIDImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
IMPL_XMLOBJECT_CLONE(NewEncryptedID);
EncryptedElementType* cloneEncryptedElementType() const {
- return new NewEncryptedIDImpl(*this);
+ return cloneNewEncryptedID();
}
IMPL_TYPED_FOREIGN_CHILD(EncryptedData,xmlencryption);
virtual ~ManageNameIDRequestImpl() { }
ManageNameIDRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
ManageNameIDRequestImpl(const ManageNameIDRequestImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) {
init();
+ }
+ void _clone(const ManageNameIDRequestImpl& src) {
+ RequestAbstractTypeImpl::_clone(src);
if (src.getNameID())
setNameID(src.getNameID()->cloneNameID());
if (src.getEncryptedID())
setNewEncryptedID(src.getNewEncryptedID()->cloneNewEncryptedID());
if (src.getTerminate())
setTerminate(src.getTerminate()->cloneTerminate());
-
}
- IMPL_XMLOBJECT_CLONE(ManageNameIDRequest);
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneManageNameIDRequest();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(ManageNameIDRequest);
IMPL_TYPED_FOREIGN_CHILD(NameID,saml2);
IMPL_TYPED_FOREIGN_CHILD(EncryptedID,saml2);
IMPL_TYPED_CHILD(NewID);
ManageNameIDResponseImpl(const ManageNameIDResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) {
}
- IMPL_XMLOBJECT_CLONE(ManageNameIDResponse);
- StatusResponseType* cloneStatusResponseType() const {
- return cloneManageNameIDResponse();
- }
+ IMPL_XMLOBJECT_CLONE_EX(ManageNameIDResponse);
};
class SAML_DLLLOCAL LogoutRequestImpl : public virtual LogoutRequest, public RequestAbstractTypeImpl
void init() {
m_Reason=nullptr;
m_NotOnOrAfter=nullptr;
-
m_BaseID=nullptr;
m_NameID=nullptr;
m_EncryptedID=nullptr;
}
LogoutRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
LogoutRequestImpl(const LogoutRequestImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) {
init();
+ }
+ void _clone(const LogoutRequestImpl& src) {
+ RequestAbstractTypeImpl::_clone(src);
setReason(src.getReason());
setNotOnOrAfter(src.getNotOnOrAfter());
-
if (src.getBaseID())
setBaseID(src.getBaseID()->cloneBaseID());
if (src.getNameID())
}
}
- IMPL_XMLOBJECT_CLONE(LogoutRequest);
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneLogoutRequest();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(LogoutRequest);
IMPL_STRING_ATTRIB(Reason);
IMPL_DATETIME_ATTRIB(NotOnOrAfter,SAMLTIME_MAX);
IMPL_TYPED_FOREIGN_CHILD(BaseID,saml2);
LogoutResponseImpl(const LogoutResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) {
}
- IMPL_XMLOBJECT_CLONE(LogoutResponse);
- StatusResponseType* cloneStatusResponseType() const {
- return cloneLogoutResponse();
- }
+ IMPL_XMLOBJECT_CLONE_EX(LogoutResponse);
};
virtual ~NameIDMappingRequestImpl() { }
NameIDMappingRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
NameIDMappingRequestImpl(const NameIDMappingRequestImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) {
init();
+ }
+ void _clone(const NameIDMappingRequestImpl& src) {
+ RequestAbstractTypeImpl::_clone(src);
if (src.getBaseID())
setBaseID(src.getBaseID()->cloneBaseID());
if (src.getNameID())
setEncryptedID(src.getEncryptedID()->cloneEncryptedID());
if (src.getNameIDPolicy())
setNameIDPolicy(src.getNameIDPolicy()->cloneNameIDPolicy());
-
}
- IMPL_XMLOBJECT_CLONE(NameIDMappingRequest);
- RequestAbstractType* cloneRequestAbstractType() const {
- return cloneNameIDMappingRequest();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(NameIDMappingRequest);
IMPL_TYPED_FOREIGN_CHILD(BaseID,saml2);
IMPL_TYPED_FOREIGN_CHILD(NameID,saml2);
IMPL_TYPED_FOREIGN_CHILD(EncryptedID,saml2);
virtual ~NameIDMappingResponseImpl() { }
NameIDMappingResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType)
- {
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
NameIDMappingResponseImpl(const NameIDMappingResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) {
init();
+ }
+ void _clone(const NameIDMappingResponseImpl& src) {
+ StatusResponseTypeImpl::_clone(src);
if (src.getNameID())
setNameID(getNameID()->cloneNameID());
if (src.getEncryptedID())
setEncryptedID(getEncryptedID()->cloneEncryptedID());
-
}
- IMPL_XMLOBJECT_CLONE(NameIDMappingResponse);
- StatusResponseType* cloneStatusResponseType() const {
- return cloneNameIDMappingResponse();
- }
-
+ IMPL_XMLOBJECT_CLONE_EX(NameIDMappingResponse);
IMPL_TYPED_FOREIGN_CHILD(NameID,saml2);
IMPL_TYPED_FOREIGN_CHILD(EncryptedID,saml2);