summaryrefslogtreecommitdiff
path: root/p2pvr/daemon
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2014-01-05 15:46:17 +0000
committerrandomdan <randomdan@localhost>2014-01-05 15:46:17 +0000
commit68ab7b71044f2860d0b421d41344914d27f86cc2 (patch)
tree23e5d4dac96f7bbbdccc65b005b473cb4e7092ad /p2pvr/daemon
parentDo reschudule automatically after events have been updated (diff)
downloadp2pvr-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.jam1
-rw-r--r--p2pvr/daemon/daemon.cpp46
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);
-