diff options
author | randomdan <randomdan@localhost> | 2013-11-28 20:56:20 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2013-11-28 20:56:20 +0000 |
commit | 79eec1ed7f52b06395417bae225132be99f6b92e (patch) | |
tree | ab3f8706b07314bfe9ada95a3df8ea975eb8ea74 /p2pvr/carddaemon/carddaemon.cpp | |
parent | Compat fixes for recent p2 updates (diff) | |
download | p2pvr-79eec1ed7f52b06395417bae225132be99f6b92e.tar.bz2 p2pvr-79eec1ed7f52b06395417bae225132be99f6b92e.tar.xz p2pvr-79eec1ed7f52b06395417bae225132be99f6b92e.zip |
First commit for big refactor into a Project2 daemon, much still to do, but much core stuff in place
Diffstat (limited to 'p2pvr/carddaemon/carddaemon.cpp')
-rw-r--r-- | p2pvr/carddaemon/carddaemon.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/p2pvr/carddaemon/carddaemon.cpp b/p2pvr/carddaemon/carddaemon.cpp new file mode 100644 index 0000000..f75109e --- /dev/null +++ b/p2pvr/carddaemon/carddaemon.cpp @@ -0,0 +1,53 @@ +#include <daemon.h> +#include <options.h> +#include <logger.h> +#include <Ice/Ice.h> +#include "localDevices.h" + +class P2PvrCardDaemon : public Daemon { + public: + P2PvrCardDaemon(int argc, char ** argv) : + ic(Ice::initialize(argc, argv)) + { + } + + ~P2PvrCardDaemon() + { + ic->destroy(); + } + + void run() const + { + Logger()->messagebf(LOG_INFO, "Creating adapter (%s, %s)", Adapter, Endpoint); + auto adapter = ic->createObjectAdapterWithEndpoints(Adapter, Endpoint); + P2PVR::LocalDevicesPrx::checkedCast(adapter->add(new LocalDevices(), ic->stringToIdentity(Identity))); + adapter->activate(); + ic->waitForShutdown(); + } + + void shutdown() const + { + ic->shutdown(); + } + INITOPTIONS; + + private: + Ice::CommunicatorPtr ic; + + static std::string Adapter; + static std::string Endpoint; + static std::string Identity; +}; + +std::string P2PvrCardDaemon::Adapter; +std::string P2PvrCardDaemon::Endpoint; +std::string P2PvrCardDaemon::Identity; + +DECLARE_GENERIC_LOADER("p2pvrcarddaemon", DaemonLoader, P2PvrCardDaemon); + +DECLARE_OPTIONS(P2PvrCardDaemon, "P2PVR Card Daemon") +("p2pvr.carddaemon.iceadapter", Options::value(&Adapter, "DefaultAdapter"), "ICE Adapter name") +("p2pvr.carddaemon.iceendpoint", Options::value(&Endpoint, "default -p 10001"), "ICE Endpoint address") +("p2pvr.carddaemon.iceidentity", Options::value(&Identity, "Devices"), "ICE Interface identity") +END_OPTIONS(P2PvrCardDaemon); + |