diff options
Diffstat (limited to 'project2/cgi/cgiAppEngine.h')
-rw-r--r-- | project2/cgi/cgiAppEngine.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/project2/cgi/cgiAppEngine.h b/project2/cgi/cgiAppEngine.h index 532b74d..5a21e98 100644 --- a/project2/cgi/cgiAppEngine.h +++ b/project2/cgi/cgiAppEngine.h @@ -31,12 +31,22 @@ class CgiApplicationEngine : public ApplicationEngine { } const Environment * env() const; SessionPtr session() const; + virtual Glib::ustring resolveCurrentConfig() const; void addAppData(const Presenter * p) const; const CgiEnvironment * _env; + protected: mutable cgicc::HTTPContentHeader * header; + private: + typedef std::pair<Glib::ustring, Glib::ustring> DomainPlatform; + typedef std::list<DomainPlatform> DomainPlatforms; + mutable DomainPlatforms domplat; + bool checkDomain(const DomainPlatforms::value_type & i) const; + void loadEngineSection(const xmlpp::Element *) const; + mutable boost::shared_ptr<xmlpp::Document> doc; + class Stage; typedef boost::intrusive_ptr<Stage> StagePtr; class Stage : public virtual CommonObjects { @@ -47,6 +57,7 @@ class CgiApplicationEngine : public ApplicationEngine { protected: const CgiApplicationEngine * appEngine; }; + class RequestStage : public Stage { public: RequestStage(const CgiApplicationEngine *, const std::string & id); @@ -57,12 +68,14 @@ class CgiApplicationEngine : public ApplicationEngine { OrderedParamCheckers parameterChecks; NoOutputExecutes tasks; }; + class PresentStage : public Stage, public XmlPresenter { public: PresentStage(const CgiApplicationEngine *, const std::string & id); PresentStage(const CgiApplicationEngine *, const std::string & group, const std::string & id); virtual ~PresentStage(); virtual StagePtr run(); + }; mutable StagePtr currentStage; mutable UUID sessionID; |