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.h24
1 files changed, 11 insertions, 13 deletions
diff --git a/project2/cgi/cgiAppEngine.h b/project2/cgi/cgiAppEngine.h
index 154ca09..7e081e6 100644
--- a/project2/cgi/cgiAppEngine.h
+++ b/project2/cgi/cgiAppEngine.h
@@ -32,13 +32,13 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
virtual ~CgiApplicationEngine();
void process() const;
- const Environment * env() const;
+ const CgiEnvironment * env() const;
SessionPtr session() const;
void addAppData(const MultiRowSetPresenter * p, OutputOptionsPtr) const;
void addEnvData(const MultiRowSetPresenter * p, OutputOptionsPtr) const;
- const CgiEnvironment * _env;
private:
+ const CgiEnvironment * _env;
mutable boost::posix_time::ptime startTime;
mutable boost::posix_time::ptime endTime;
SessionContainerPtr sessionsContainer;
@@ -58,11 +58,10 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// Base class for a stage iteration that should eventually produce a response for the client
class Stage : public virtual IntrusivePtrBase {
public:
- Stage(const CgiEnvironment * e);
virtual ~Stage() = 0;
virtual NextStage run() = 0;
protected:
- const CgiEnvironment * e;
+ const CgiEnvironment * env() const;
};
/// Base class for a stage that can be a response to the client
@@ -70,7 +69,7 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
public:
typedef ANONORDEREDSTORAGEOF(PresenterCache) PresenterCaches;
- ResponseStage(const CgiEnvironment * e, ScriptNodePtr root);
+ ResponseStage(ScriptNodePtr root);
virtual HttpHeaderPtr getHeader() const = 0;
OutputOptionsPtr outputOptions;
@@ -81,14 +80,13 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// Stage implementation used to bootstrap the iteration process based on the CGI environment
class InitialStage : public Stage {
public:
- InitialStage(const CgiEnvironment * e);
virtual NextStage run();
};
/// Stage to process POST requests
class RequestStage : public ResponseStage, TaskHost {
public:
- RequestStage(const CgiEnvironment *, ScriptReaderPtr);
+ RequestStage(ScriptReaderPtr);
virtual NextStage run();
virtual HttpHeaderPtr getHeader() const;
@@ -99,7 +97,7 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// Stage to process GET requests and follow up RequestStages
class PresentStage : public virtual ResponseStage, ViewHost {
public:
- PresentStage(const CgiEnvironment * e, ScriptReaderPtr);
+ PresentStage(ScriptReaderPtr);
MultiRowSetPresenterPtr getPresenter() const;
virtual NextStage run();
@@ -111,7 +109,7 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// Stage to return previous cached output
class CacheHitStage : public virtual ResponseStage {
public:
- CacheHitStage(const CgiEnvironment * e, ScriptNodePtr, PresenterCachePtr);
+ CacheHitStage(ScriptNodePtr, PresenterCachePtr);
virtual NextStage run();
virtual HttpHeaderPtr getHeader() const;
@@ -122,7 +120,7 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// The built-in fail-safe not found stage
class DefaultNotFoundStage : public virtual ResponseStage {
public:
- DefaultNotFoundStage(const CgiEnvironment *, const ScriptNotFound &);
+ DefaultNotFoundStage(const ScriptNotFound &);
virtual NextStage run();
virtual HttpHeaderPtr getHeader() const;
@@ -134,7 +132,7 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// Custom not found handling stage
class CustomNotFoundStage : public DefaultNotFoundStage, public PresentStage {
public:
- CustomNotFoundStage(const CgiEnvironment *, const ScriptNotFound &, ScriptReaderPtr);
+ CustomNotFoundStage(const ScriptNotFound &, ScriptReaderPtr);
virtual NextStage run();
virtual HttpHeaderPtr getHeader() const;
};
@@ -142,7 +140,7 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// The built-in fail-safe unhandled error stage
class DefaultErrorStage : public virtual ResponseStage {
public:
- DefaultErrorStage(const CgiEnvironment *, const std::exception &);
+ DefaultErrorStage(const std::exception &);
~DefaultErrorStage();
virtual NextStage run();
@@ -156,7 +154,7 @@ class CgiApplicationEngine : public ApplicationEngine, public TransformChainLink
/// Custom unhandled error handling stage
class CustomErrorStage : public DefaultErrorStage, public PresentStage {
public:
- CustomErrorStage(const CgiEnvironment *, const std::exception &, ScriptReaderPtr);
+ CustomErrorStage(const std::exception &, ScriptReaderPtr);
virtual NextStage run();
virtual HttpHeaderPtr getHeader() const;
};