diff options
author | randomdan <randomdan@localhost> | 2014-01-05 15:46:17 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2014-01-05 15:46:17 +0000 |
commit | 68ab7b71044f2860d0b421d41344914d27f86cc2 (patch) | |
tree | 23e5d4dac96f7bbbdccc65b005b473cb4e7092ad /p2pvr/daemon | |
parent | Do reschudule automatically after events have been updated (diff) | |
download | p2pvr-68ab7b71044f2860d0b421d41344914d27f86cc2.tar.bz2 p2pvr-68ab7b71044f2860d0b421d41344914d27f86cc2.tar.xz p2pvr-68ab7b71044f2860d0b421d41344914d27f86cc2.zip |
Unify the daemon base code
Enable multiple threads
Add mutexes where required
Proxy ICE logs into p2 logger
Diffstat (limited to 'p2pvr/daemon')
-rw-r--r-- | p2pvr/daemon/Jamfile.jam | 1 | ||||
-rw-r--r-- | p2pvr/daemon/daemon.cpp | 46 |
2 files changed, 5 insertions, 42 deletions
diff --git a/p2pvr/daemon/Jamfile.jam b/p2pvr/daemon/Jamfile.jam index 7379c7a..8a6ee8c 100644 --- a/p2pvr/daemon/Jamfile.jam +++ b/p2pvr/daemon/Jamfile.jam @@ -4,7 +4,6 @@ lib IceUtil ; lib p2pvrdaemon : [ glob *.cpp ] : - <library>..//p2daemonlib <library>../ice//p2pvrice <library>../lib//p2pvrlib ; diff --git a/p2pvr/daemon/daemon.cpp b/p2pvr/daemon/daemon.cpp index 6f0d326..d4b59a0 100644 --- a/p2pvr/daemon/daemon.cpp +++ b/p2pvr/daemon/daemon.cpp @@ -1,63 +1,27 @@ -#include <daemon.h> -#include <options.h> -#include <Ice/Ice.h> +#include <daemonBase.h> #include "localDevices.h" #include "globalDevices.h" #include "maintenance.h" #include "si.h" #include "schedules.h" -#include <logger.h> +#include <Ice/ObjectAdapter.h> -#include <linux/dvb/frontend.h> - -class P2PvrDaemon : public Daemon { +class P2PvrDaemon : public DaemonBase { public: P2PvrDaemon(int argc, char ** argv) : - ic(Ice::initialize(argc, argv)) - { - } - - ~P2PvrDaemon() + DaemonBase(argc, argv) { - ic->destroy(); } - void run() const + void addServants(const Ice::ObjectAdapterPtr & adapter, const IceUtil::TimerPtr & timer) const { - IceUtil::TimerPtr timer = new IceUtil::Timer(); - Logger()->messagebf(LOG_INFO, "Creating adapter (%s, %s)", Adapter, Endpoint); - auto adapter = ic->createObjectAdapterWithEndpoints(Adapter, Endpoint); adapter->add(new LocalDevices(adapter, timer), ic->stringToIdentity("Devices")); adapter->add(new GlobalDevices(), ic->stringToIdentity("GlobalDevices")); adapter->add(new Maintenance(adapter, timer), ic->stringToIdentity("Maintenance")); adapter->add(new SI(), ic->stringToIdentity("SI")); adapter->add(new Schedules(), ic->stringToIdentity("Schedules")); - adapter->activate(); - - ic->waitForShutdown(); - timer->destroy(); - } - - void shutdown() const - { - ic->shutdown(); } - INITOPTIONS; - - private: - Ice::CommunicatorPtr ic; - - static std::string Adapter; - static std::string Endpoint; }; -std::string P2PvrDaemon::Adapter; -std::string P2PvrDaemon::Endpoint; - DECLARE_GENERIC_LOADER("p2pvrdaemon", DaemonLoader, P2PvrDaemon); -DECLARE_OPTIONS(P2PvrDaemon, "P2PVR Daemon") -("p2pvr.daemon.iceadapter", Options::value(&Adapter, "DefaultAdapter"), "ICE Adapter name") -("p2pvr.daemon.iceendpoint", Options::value(&Endpoint, "default -p 10000"), "ICE Endpoint address") -END_OPTIONS(P2PvrDaemon); - |