diff options
Diffstat (limited to 'project2/cgi/cgiAppEngine.h')
-rw-r--r-- | project2/cgi/cgiAppEngine.h | 13 |
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: |