summaryrefslogtreecommitdiff
path: root/project2/cgi
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2010-08-24 20:41:54 +0000
committerrandomdan <randomdan@localhost>2010-08-24 20:41:54 +0000
commit64992fdf169c55f8575e9d3926a66d8bb90f39d2 (patch)
treee24f74a9b227d13ee91c55d65e47d983cb0cd179 /project2/cgi
parentAdd option to use a temporary view instead of a table to reduce WAL churn dur... (diff)
downloadproject2-64992fdf169c55f8575e9d3926a66d8bb90f39d2.tar.bz2
project2-64992fdf169c55f8575e9d3926a66d8bb90f39d2.tar.xz
project2-64992fdf169c55f8575e9d3926a66d8bb90f39d2.zip
Whole new low dependency object loader
Switch to using intrusive_ptr in cases where the class is mine Remove deps of funtional type base cpp files on implementation headers General tidy up in places Post load event and removal of mutable things initialised on first run
Diffstat (limited to 'project2/cgi')
-rw-r--r--project2/cgi/cgiAppEngine.cpp15
-rw-r--r--project2/cgi/cgiAppEngine.h2
2 files changed, 8 insertions, 9 deletions
diff --git a/project2/cgi/cgiAppEngine.cpp b/project2/cgi/cgiAppEngine.cpp
index 98cb397..f37172e 100644
--- a/project2/cgi/cgiAppEngine.cpp
+++ b/project2/cgi/cgiAppEngine.cpp
@@ -87,7 +87,7 @@ CgiApplicationEngine::Stage *
CgiApplicationEngine::PresentStage::run()
{
BOOST_FOREACH(OrderedParamCheckers::value_type pc, parameterChecks) {
- if (!pc.second->performCheck(appEngine)) {
+ if (!pc.second->performCheck()) {
return new PresentStage(appEngine, pc.second->present);
}
}
@@ -147,12 +147,11 @@ CgiApplicationEngine::RequestStage::RequestStage(const CgiApplicationEngine * e,
xmlpp::Element * requestRoot = request.get_document()->get_root_node();
present = requestRoot->get_attribute_value("present");
- Loaders loaders;
- _DataSource::AddLoaders(loaders, appEngine->datasources);
- _ParamChecker::AddLoaders(loaders, parameterChecks);
- _Task::AddLoaders(loaders, tasks);
- _Iterate::AddLoaders(loaders, tasks);
- _LoaderBase::collectAll(loaders, "project2", requestRoot, true, true);
+ LoaderBase loader;
+ loader.supportedStorers.insert(Storer::into(&appEngine->datasources));
+ loader.supportedStorers.insert(Storer::into(&parameterChecks));
+ loader.supportedStorers.insert(Storer::into(&tasks));
+ loader.collectAll("project2", requestRoot, true, true);
}
CgiApplicationEngine::RequestStage::~RequestStage()
{
@@ -161,7 +160,7 @@ CgiApplicationEngine::Stage *
CgiApplicationEngine::RequestStage::run()
{
BOOST_FOREACH(OrderedParamCheckers::value_type pc, parameterChecks) {
- if (!pc.second->performCheck(appEngine)) {
+ if (!pc.second->performCheck()) {
return new PresentStage(appEngine, pc.second->present);
}
}
diff --git a/project2/cgi/cgiAppEngine.h b/project2/cgi/cgiAppEngine.h
index 112e672..cebb294 100644
--- a/project2/cgi/cgiAppEngine.h
+++ b/project2/cgi/cgiAppEngine.h
@@ -5,7 +5,7 @@
#include "../task.h"
#include "../paramChecker.h"
#include "../presenter.h"
-#include <boost/shared_ptr.hpp>
+#include <boost/intrusive_ptr.hpp>
#include <boost/uuid/uuid.hpp>
#include <libxml++/document.h>
#include <libxml++/parsers/domparser.h>