#ifndef __saml_decoder_h__
#define __saml_decoder_h__
-#include <saml/binding/SecurityPolicy.h>
-#include <xmltooling/XMLObject.h>
-#include <xmltooling/io/GenericRequest.h>
+#include <saml/base.h>
+
+#include <vector>
+#include <xercesc/util/XMLUniDefs.hpp>
+
+namespace xmltooling {
+ class XMLTOOL_API GenericRequest;
+ class XMLTOOL_API XMLObject;
+};
namespace opensaml {
class SAML_API SAMLArtifact;
+ class SAML_API SecurityPolicy;
namespace saml1p {
class SAML_API Response;
};
{
MAKE_NONCOPYABLE(MessageDecoder);
public:
- virtual ~MessageDecoder() {}
+ virtual ~MessageDecoder();
/**
* Indicates whether a web browser or similar user agent delivered the message.
*
* @return true iff the message was delivered by a user agent
*/
- virtual bool isUserAgentPresent() const {
- return true;
- }
+ virtual bool isUserAgentPresent() const;
/**
* Interface to caller-supplied artifact resolution mechanism.
class SAML_API ArtifactResolver {
MAKE_NONCOPYABLE(ArtifactResolver);
protected:
- ArtifactResolver() {}
+ ArtifactResolver();
public:
- virtual ~ArtifactResolver() {}
+ virtual ~ArtifactResolver();
/**
* Resolves one or more SAML 1.x artifacts into a response containing a set of
*
* @param artifactResolver an ArtifactResolver implementation to use
*/
- void setArtifactResolver(const ArtifactResolver* artifactResolver) {
- m_artifactResolver = artifactResolver;
- }
+ void setArtifactResolver(const ArtifactResolver* artifactResolver);
/**
* Decodes a transport request into a SAML protocol message, and evaluates it
) const=0;
protected:
- MessageDecoder() : m_artifactResolver(NULL) {}
+ MessageDecoder();
/** Pointer to an ArtifactResolver implementation. */
const ArtifactResolver* m_artifactResolver;