summaryrefslogtreecommitdiff
path: root/project2/ice/iceDaemon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'project2/ice/iceDaemon.cpp')
-rw-r--r--project2/ice/iceDaemon.cpp36
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