summaryrefslogtreecommitdiff
path: root/project2/cgi
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2011-10-19 00:46:42 +0000
committerrandomdan <randomdan@localhost>2011-10-19 00:46:42 +0000
commit4ad3e68bd99a8e2c1e7d8e5307e18f0a567cff49 (patch)
tree69729d7f7d9f8cf050418a605d883e2bdef29456 /project2/cgi
parentAdds the JSON and CouchDB module (diff)
downloadproject2-4ad3e68bd99a8e2c1e7d8e5307e18f0a567cff49.tar.bz2
project2-4ad3e68bd99a8e2c1e7d8e5307e18f0a567cff49.tar.xz
project2-4ad3e68bd99a8e2c1e7d8e5307e18f0a567cff49.zip
Remove session implementations per container, not point
Diffstat (limited to 'project2/cgi')
-rw-r--r--project2/cgi/cgiAppEngine.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/project2/cgi/cgiAppEngine.cpp b/project2/cgi/cgiAppEngine.cpp
index 1cee535..0f15f89 100644
--- a/project2/cgi/cgiAppEngine.cpp
+++ b/project2/cgi/cgiAppEngine.cpp
@@ -138,6 +138,16 @@ CgiApplicationEngine::addEnvData(const Presenter * p) const
p->popSub();
}
+static
+void
+addToPresenter(const Environment * env, const Presenter * p, const Glib::ustring & name, const VariableType & value)
+{
+ p->pushSub("var", env->xmlPrefix);
+ p->addAttr("value", value);
+ p->addAttr("name", name);
+ p->popSub();
+}
+
void
CgiApplicationEngine::addAppData(const Presenter * p) const
{
@@ -145,13 +155,7 @@ CgiApplicationEngine::addAppData(const Presenter * p) const
// Sessions variables
p->pushSub("session", env()->xmlPrefix);
p->addAttr("id", cursession->ID.str());
- Session::Values session(cursession->GetValuesCopy());
- BOOST_FOREACH(Session::Values::value_type sv, session) {
- p->pushSub("var", env()->xmlPrefix);
- p->addAttr("value", sv.second);
- p->addAttr("name", sv.first);
- p->popSub();
- }
+ cursession->ForeachValue(boost::bind(addToPresenter, env(), p, _1, _2));
p->popSub();
// Timing info