#include "testScriptHost.h" #include #include #include TestScriptHost::TestScriptHost(ScriptReaderPtr script) : SourceObject(script->root()), CommonObjects(script->root()), CheckHost(script->root()), TaskHost(script->root()), ViewHost(script->root()) { Logger()->message(LOG_DEBUG, __PRETTY_FUNCTION__); script->loader.addLoadTarget(script->root(), Storer::into(&presenter, Scripted, (ExecContext*)NULL)); } TestScriptHost::~TestScriptHost() { Logger()->message(LOG_DEBUG, __PRETTY_FUNCTION__); } MultiRowSetPresenterPtr TestScriptHost::getPresenter(ExecContext *) const { if (!presenter) { presenter = new TestPresenter(); } return presenter; } void TestScriptHost::process(ExecContext * ec) { runChecks(ec); execute(ec); executeViews(ec); } const PresenterData & TestScriptHost::GetPresenterData() const { auto tp = boost::dynamic_pointer_cast(presenter); if (!tp) { throw std::runtime_error("Not using the TestPresenter"); } return tp->GetPresenterData(); }