X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fopensaml2.git;a=blobdiff_plain;f=saml%2Fsaml2%2Fmetadata%2Fimpl%2FMetadataImpl.cpp;h=d6f4ce9efcb0ec1f3a9b1bc55eb08bc6194de91c;hp=43162ec24feced97be7563cdc8d5b60b4fff7c3d;hb=c7af1d07251d4d10a8acd8949cb31ca490130125;hpb=c51b4e44fdd7305327af4661a1f610d05d2203fd diff --git a/saml/saml2/metadata/impl/MetadataImpl.cpp b/saml/saml2/metadata/impl/MetadataImpl.cpp index 43162ec..d6f4ce9 100644 --- a/saml/saml2/metadata/impl/MetadataImpl.cpp +++ b/saml/saml2/metadata/impl/MetadataImpl.cpp @@ -996,6 +996,27 @@ namespace opensaml { } return false; } + + void addSupport(const XMLCh* protocol) { + if (hasSupport(protocol)) + return; + if (m_ProtocolSupportEnumeration && *m_ProtocolSupportEnumeration) { +#ifdef HAVE_GOOD_STL + xstring pse(m_ProtocolSupportEnumeration); + pse = pse + chSpace + protocol; + setProtocolSupportEnumeration(pse.c_str()); +#else + auto_ptr_char temp(m_ProtocolSupportEnumeration); + string pse(temp.get()); + pse = pse + ' ' + protocol; + auto_ptr_XMLCh temp2(pse.c_str()); + setProtocolSupportEnumeration(temp2.get()); +#endif + } + else { + setProtocolSupportEnumeration(protocol); + } + } void setAttribute(const QName& qualifiedName, const XMLCh* value, bool ID=false) { if (!qualifiedName.hasNamespaceURI()) {