/*
- * Copyright 2001-2007 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.
#ifndef __shibsp_logout_h__
#define __shibsp_logout_h__
-#include <shibsp/SPRequest.h>
#include <shibsp/handler/RemotedHandler.h>
namespace shibsp {
class SHIBSP_API LogoutHandler : public RemotedHandler
{
public:
- virtual ~LogoutHandler() {}
+ virtual ~LogoutHandler();
/**
* The base method will iteratively attempt front-channel notification
void receive(DDF& in, std::ostream& out);
protected:
- LogoutHandler() : m_initiator(true) {}
+ LogoutHandler();
/** Flag indicating whether the subclass is acting as a LogoutInitiator. */
bool m_initiator;
const Application& application,
const xmltooling::HTTPRequest& request,
xmltooling::HTTPResponse& response,
- const std::map<std::string,std::string>* params=NULL
+ const std::map<std::string,std::string>* params=nullptr
) const;
/**
) const;
/**
+ * @deprecated
* Sends a response template to the user agent informing it of the results of a logout attempt.
*
* @param application the Application to use in determining the logout template
+ * @param request the HTTP client request to supply to the template
* @param response the HTTP response to use
* @param local true iff the logout operation was local to the SP, false iff global
* @param status optional logoutStatus key value to add to template
*/
std::pair<bool,long> sendLogoutPage(
- const Application& application, xmltooling::HTTPResponse& response, bool local=true, const char* status=NULL
+ const Application& application,
+ const xmltooling::HTTPRequest& request,
+ xmltooling::HTTPResponse& response,
+ bool local=true,
+ const char* status=nullptr
+ ) const;
+
+ /**
+ * Sends a response template to the user agent informing it of the results of a logout attempt.
+ *
+ * @param application the Application to use in determining the logout template
+ * @param request the HTTP client request to supply to the template
+ * @param response the HTTP response to use
+ * @param type designates the prefix of logout template name to use
+ */
+ std::pair<bool,long> sendLogoutPage(
+ const Application& application,
+ const xmltooling::HTTPRequest& request,
+ xmltooling::HTTPResponse& response,
+ const char* type
) const;
};