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, 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;