Add property for protocol family to encoders/decoders.
[shibboleth/cpp-opensaml.git] / saml / binding / impl / MessageDecoder.cpp
index a185ba2..4ff6c79 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.
@@ -66,16 +66,47 @@ void SAML_API opensaml::registerMessageDecoders()
     XMLObjectBuilder::registerBuilder(xmltooling::QName(samlconstants::SAML20ECP_NS, RelayState), new AnyElementBuilder());
 }
 
+MessageDecoder::MessageDecoder() : m_artifactResolver(nullptr)
+{
+}
+
+MessageDecoder::~MessageDecoder()
+{
+}
+
+const XMLCh* MessageDecoder::getProtocolFamily() const
+{
+    return nullptr;
+}
+
+bool MessageDecoder::isUserAgentPresent() const
+{
+    return true;
+}
+
+void MessageDecoder::setArtifactResolver(const ArtifactResolver* artifactResolver)
+{
+    m_artifactResolver = artifactResolver;
+}
+
+MessageDecoder::ArtifactResolver::ArtifactResolver()
+{
+}
+
+MessageDecoder::ArtifactResolver::~ArtifactResolver()
+{
+}
+
 bool MessageDecoder::ArtifactResolver::isSupported(const SSODescriptorType& ssoDescriptor) const
 {
     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;