diff options
Diffstat (limited to 'project2/ice/iceDaemon.cpp')
| -rw-r--r-- | project2/ice/iceDaemon.cpp | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/project2/ice/iceDaemon.cpp b/project2/ice/iceDaemon.cpp index 860cd86..4d0e091 100644 --- a/project2/ice/iceDaemon.cpp +++ b/project2/ice/iceDaemon.cpp @@ -7,7 +7,7 @@ #include <scriptLoader.h> #include <options.h> #include <sys/stat.h> -#include <boost/filesystem.hpp> +#include <filesystem> #include <boost/lexical_cast.hpp> #include <commonObjects.h> #include <logger.h> @@ -15,7 +15,6 @@ #include <views/flatView.h> #include <taskHost.h> #include <execContext.h> -#include <misc.h> #include <exceptions.h> #include "appInstance.h" @@ -25,14 +24,14 @@ std::string IceDaemon::viewRoot; std::string IceDaemon::taskRoot; IceBase::Libs IceDaemon::libs; -class IceDaemonLoader : public DaemonLoader::For<IceDaemon> { +class IceDaemonFactory : public DaemonFactory::For<IceDaemon>, public LifeCycle { public: void onConfigLoad() override { IceBase::FinaliseLoad(IceDaemon::libs); } }; -DECLARE_CUSTOM_COMPONENT_LOADER("ice", IceDaemon, IceDaemonLoader, DaemonLoader); +NAMEDPLUGIN("ice", IceDaemonFactory, DaemonFactory); DECLARE_OPTIONS(IceDaemon, "ICE Daemon Options") ("ice.daemon.viewRoot", Options::value(&viewRoot, "views"), "The folder in which to find view scripts") @@ -67,19 +66,24 @@ IceDaemon::shutdown() const } void -IceDaemon::run() const +IceDaemon::setup() const { Logger()->messagebf(LOG_DEBUG, " %s creating adapter %s [%s]...", __PRETTY_FUNCTION__, adapterName, adapterEndpoint); Ice::ObjectAdapterPtr adapter = ic->createObjectAdapterWithEndpoints(adapterName, adapterEndpoint); Logger()->messagebf(LOG_DEBUG, " %s installing servants...", __PRETTY_FUNCTION__); - InstanceSet<IceDaemonAdapterHandlerLoader>::OnAll([this, adapter](IceDaemonAdapterHandlerLoader * loader) { - loader->create(this)->add(adapter, ic); - }); + for(auto p : AdHoc::PluginManager::getDefault()->getAll<IceDaemonAdapterHandlerFactory>()) { + p->implementation()->create(shared_from_this())->add(adapter, ic); + } Logger()->messagebf(LOG_DEBUG, " %s starting...", __PRETTY_FUNCTION__); adapter->activate(); - +} + + +void +IceDaemon::run() const +{ Logger()->messagebf(LOG_INFO, " %s running...", __PRETTY_FUNCTION__); ic->waitForShutdown(); @@ -92,7 +96,7 @@ class IceDaemonViewHost : public virtual CommonObjects, public virtual CheckHost CommonObjects(s), CheckHost(s) { - s->script->loader.addLoadTarget(s, Storer::into<ElementLoader>(&view)); + s->script.lock()->loader.addLoadTarget(s, Storer::into<FlatViewFactory>(&view)); } void executeView(RowSetPresenterPtr presenter, ExecContext * ec) const { @@ -107,7 +111,7 @@ class IceDaemonViewHost : public virtual CommonObjects, public virtual CheckHost } } private: - typedef boost::intrusive_ptr<FlatView> ViewPtr; + typedef std::shared_ptr<FlatView> ViewPtr; ViewPtr view; }; @@ -120,7 +124,7 @@ class IceCallContext : public ExecContext { VariableType getParameter(const VariableType & key) const { - return safeMapLookup<ParamNotFound>(params, key); + return AdHoc::safeMapLookup<ParamNotFound>(params, key); } SessionPtr getSession() const @@ -137,9 +141,9 @@ void IceDaemon::executeView(const std::string & name, Slicer::ModelPartPtr p, const ParamMap & pm) const { ScriptNodePtr s = ScriptReader::resolveScript(IceDaemon::viewRoot, name, false)->root(); - boost::intrusive_ptr<IceDaemonViewHost> v = new IceDaemonViewHost(s); + auto v = std::make_shared<IceDaemonViewHost>(s); IceCallContext icc(pm); - v->executeView(new IceViewSerializer(p), &icc); + v->executeView(std::make_shared<IceViewSerializer>(p), &icc); } class IceDaemonTaskHost : public TaskHost { @@ -164,7 +168,7 @@ void IceDaemon::executeTask(const std::string & name, const ParamMap & pm) const { ScriptNodePtr s = ScriptReader::resolveScript(IceDaemon::taskRoot, name, false)->root(); - boost::intrusive_ptr<IceDaemonTaskHost> t = new IceDaemonTaskHost(s); + auto t = std::make_shared<IceDaemonTaskHost>(s); IceCallContext icc(pm); t->executeTask(&icc); } @@ -172,7 +176,7 @@ IceDaemon::executeTask(const std::string & name, const ParamMap & pm) const IceCompile::Ptr IceDaemon::GetComponentCompiler(const std::string & slice, const IceCompile::Deps & deps) { - return IceCompile::Ptr(new BuildDaemon(slice, deps)); + return std::make_shared<BuildDaemon>(slice, deps); } void |
