summaryrefslogtreecommitdiff
path: root/project2/cgi/cgiAppEngine.h
diff options
context:
space:
mode:
Diffstat (limited to 'project2/cgi/cgiAppEngine.h')
-rw-r--r--project2/cgi/cgiAppEngine.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/project2/cgi/cgiAppEngine.h b/project2/cgi/cgiAppEngine.h
index b9a30d9..3c9ba13 100644
--- a/project2/cgi/cgiAppEngine.h
+++ b/project2/cgi/cgiAppEngine.h
@@ -10,7 +10,6 @@
#include "xmlPresenter.h"
#include "presenterCache.h"
#include "sessionContainer.h"
-#include <boost/intrusive_ptr.hpp>
#include <boost/tuple/tuple.hpp>
#include "cgiOutputOptions.h"
#include "cgiHttpHeader.h"
@@ -27,7 +26,7 @@ namespace cgicc {
class DLL_PUBLIC CgiApplicationEngine : AppInstance {
public:
- typedef boost::shared_ptr<Project2HttpHeader> HttpHeaderPtr;
+ typedef std::shared_ptr<Project2HttpHeader> HttpHeaderPtr;
typedef std::pair<Glib::ustring, Glib::RefPtr<Glib::Regex>> PlatformHostname;
typedef std::vector<PlatformHostname> PlatformHostnameList;
@@ -53,18 +52,18 @@ class DLL_PUBLIC CgiApplicationEngine : AppInstance {
public:
class Stage;
class ResponseStage;
- typedef boost::intrusive_ptr<Stage> StagePtr;
- typedef boost::intrusive_ptr<ResponseStage> ResponseStagePtr;
+ typedef std::shared_ptr<Stage> StagePtr;
+ typedef std::shared_ptr<ResponseStage> ResponseStagePtr;
typedef boost::tuple<StagePtr, ResponseStagePtr, TransformSourcePtr, MultiRowSetPresenterPtr> NextStage;
/// Base class for a stage iteration that should eventually produce a response for the client
- class Stage : public virtual IntrusivePtrBase {
+ class Stage {
public:
virtual ~Stage() = 0;
virtual NextStage run(CgiRequestContext *) = 0;
};
/// Base class for a stage that can be a response to the client
- class ResponseStage : public Stage {
+ class ResponseStage : public Stage, public std::enable_shared_from_this<ResponseStage> {
public:
typedef ANONORDEREDSTORAGEOF(PresenterCache) PresenterCaches;
@@ -162,7 +161,7 @@ class DLL_PUBLIC CgiApplicationEngine : AppInstance {
INITOPTIONS;
static PlatformHostnameList platHosts;
- static const RouterFactory * router;
+ static std::shared_ptr<const RouterFactory> router;
static SessionContainerPtr sessionsContainer;
static std::string sessionCookie;
private: