Add short name to encoders/decoders for endpoint generation.
[shibboleth/cpp-opensaml.git] / saml / binding / impl / MessageDecoder.cpp
index 0ca6b81..8c33780 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2009 Internet2
+ *  Copyright 2001-2010 Internet2
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -43,6 +43,7 @@ namespace opensaml {
     namespace saml2p {
         SAML_DLLLOCAL PluginManager< MessageDecoder,string,pair<const DOMElement*,const XMLCh*> >::Factory SAML2ArtifactDecoderFactory;
         SAML_DLLLOCAL PluginManager< MessageDecoder,string,pair<const DOMElement*,const XMLCh*> >::Factory SAML2POSTDecoderFactory;
+        SAML_DLLLOCAL PluginManager< MessageDecoder,string,pair<const DOMElement*,const XMLCh*> >::Factory SAML2POSTSimpleSignDecoderFactory;
         SAML_DLLLOCAL PluginManager< MessageDecoder,string,pair<const DOMElement*,const XMLCh*> >::Factory SAML2RedirectDecoderFactory;
         SAML_DLLLOCAL PluginManager< MessageDecoder,string,pair<const DOMElement*,const XMLCh*> >::Factory SAML2SOAPDecoderFactory;
         SAML_DLLLOCAL PluginManager< MessageDecoder,string,pair<const DOMElement*,const XMLCh*> >::Factory SAML2ECPDecoderFactory;
@@ -57,7 +58,7 @@ void SAML_API opensaml::registerMessageDecoders()
     conf.MessageDecoderManager.registerFactory(samlconstants::SAML1_BINDING_SOAP, saml1p::SAML1SOAPDecoderFactory);
     conf.MessageDecoderManager.registerFactory(samlconstants::SAML20_BINDING_HTTP_ARTIFACT, saml2p::SAML2ArtifactDecoderFactory);
     conf.MessageDecoderManager.registerFactory(samlconstants::SAML20_BINDING_HTTP_POST, saml2p::SAML2POSTDecoderFactory);
-    conf.MessageDecoderManager.registerFactory(samlconstants::SAML20_BINDING_HTTP_POST_SIMPLESIGN, saml2p::SAML2POSTDecoderFactory);
+    conf.MessageDecoderManager.registerFactory(samlconstants::SAML20_BINDING_HTTP_POST_SIMPLESIGN, saml2p::SAML2POSTSimpleSignDecoderFactory);
     conf.MessageDecoderManager.registerFactory(samlconstants::SAML20_BINDING_HTTP_REDIRECT, saml2p::SAML2RedirectDecoderFactory);
     conf.MessageDecoderManager.registerFactory(samlconstants::SAML20_BINDING_SOAP, saml2p::SAML2SOAPDecoderFactory);
     conf.MessageDecoderManager.registerFactory(samlconstants::SAML20_BINDING_PAOS, saml2p::SAML2ECPDecoderFactory);
@@ -66,7 +67,7 @@ void SAML_API opensaml::registerMessageDecoders()
     XMLObjectBuilder::registerBuilder(xmltooling::QName(samlconstants::SAML20ECP_NS, RelayState), new AnyElementBuilder());
 }
 
-MessageDecoder::MessageDecoder() : m_artifactResolver(NULL)
+MessageDecoder::MessageDecoder() : m_artifactResolver(nullptr)
 {
 }
 
@@ -74,6 +75,16 @@ MessageDecoder::~MessageDecoder()
 {
 }
 
+const XMLCh* MessageDecoder::getProtocolFamily() const
+{
+    return nullptr;
+}
+
+const char* MessageDecoder::getShortName() const
+{
+    return nullptr;
+}
+
 bool MessageDecoder::isUserAgentPresent() const
 {
     return true;
@@ -97,11 +108,11 @@ bool MessageDecoder::ArtifactResolver::isSupported(const SSODescriptorType& ssoD
     EndpointManager<ArtifactResolutionService> mgr(ssoDescriptor.getArtifactResolutionServices());
     if (ssoDescriptor.hasSupport(samlconstants::SAML20P_NS)) {
         auto_ptr_XMLCh binding(samlconstants::SAML20_BINDING_SOAP);
-        return (mgr.getByBinding(binding.get()) != NULL);
+        return (mgr.getByBinding(binding.get()) != nullptr);
     }
     else if (ssoDescriptor.hasSupport(samlconstants::SAML11_PROTOCOL_ENUM) || ssoDescriptor.hasSupport(samlconstants::SAML10_PROTOCOL_ENUM)) {
         auto_ptr_XMLCh binding(samlconstants::SAML1_BINDING_SOAP);
-        return (mgr.getByBinding(binding.get()) != NULL);
+        return (mgr.getByBinding(binding.get()) != nullptr);
     }
 
     return false;