X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml2%2Fbinding%2Fimpl%2FSAML2POSTEncoder.cpp;h=662d52f68cf200b5a71a8da0c5697801b8a4bf8b;hb=c2f3cb788f744ebb8d89b22e0676b68737abfa9f;hp=efa5a57a444a0b7e87e6dcf838ef72cce1bb4077;hpb=cc07469677e2713f7839410186872e409f54bb7d;p=shibboleth%2Fopensaml2.git diff --git a/saml/saml2/binding/impl/SAML2POSTEncoder.cpp b/saml/saml2/binding/impl/SAML2POSTEncoder.cpp index efa5a57..662d52f 100644 --- a/saml/saml2/binding/impl/SAML2POSTEncoder.cpp +++ b/saml/saml2/binding/impl/SAML2POSTEncoder.cpp @@ -46,7 +46,7 @@ namespace opensaml { class SAML_DLLLOCAL SAML2POSTEncoder : public MessageEncoder { public: - SAML2POSTEncoder(const DOMElement* e, bool simple=false); + SAML2POSTEncoder(const DOMElement* e, const XMLCh* ns, bool simple=false); virtual ~SAML2POSTEncoder() {} long encode( @@ -55,6 +55,7 @@ namespace opensaml { const char* destination, const EntityDescriptor* recipient=NULL, const char* relayState=NULL, + const ArtifactGenerator* artifactGenerator=NULL, const Credential* credential=NULL, const XMLCh* signatureAlg=NULL, const XMLCh* digestAlg=NULL @@ -65,25 +66,25 @@ namespace opensaml { bool m_simple; }; - MessageEncoder* SAML_DLLLOCAL SAML2POSTEncoderFactory(const DOMElement* const & e) + MessageEncoder* SAML_DLLLOCAL SAML2POSTEncoderFactory(const pair& p) { - return new SAML2POSTEncoder(e, false); + return new SAML2POSTEncoder(p.first, p.second, false); } - MessageEncoder* SAML_DLLLOCAL SAML2POSTSimpleSignEncoderFactory(const DOMElement* const & e) + MessageEncoder* SAML_DLLLOCAL SAML2POSTSimpleSignEncoderFactory(const pair& p) { - return new SAML2POSTEncoder(e, true); + return new SAML2POSTEncoder(p.first, p.second, true); } }; }; static const XMLCh _template[] = UNICODE_LITERAL_8(t,e,m,p,l,a,t,e); -SAML2POSTEncoder::SAML2POSTEncoder(const DOMElement* e, bool simple) : m_simple(simple) +SAML2POSTEncoder::SAML2POSTEncoder(const DOMElement* e, const XMLCh* ns, bool simple) : m_simple(simple) { if (e) { - auto_ptr_char t(e->getAttributeNS(NULL, _template)); - if (t.get()) + auto_ptr_char t(e->getAttributeNS(ns, _template)); + if (t.get() && *t.get()) m_template = t.get(); } if (m_template.empty()) @@ -96,6 +97,7 @@ long SAML2POSTEncoder::encode( const char* destination, const EntityDescriptor* recipient, const char* relayState, + const ArtifactGenerator* artifactGenerator, const Credential* credential, const XMLCh* signatureAlg, const XMLCh* digestAlg