X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FDaemon%2FDaemon.hh;h=8747182f83cda8be099457463bdae93e780f44d8;hb=412024ed31a4ab4eaea7a4165a434f8efebee325;hp=d0ba4a7cead310352f9c6598b0c46221cedb6ec1;hpb=d5ba3d7759212c90a5f4a25baf0dc38e290c3b64;p=senf.git diff --git a/Utils/Daemon/Daemon.hh b/Utils/Daemon/Daemon.hh index d0ba4a7..8747182 100644 --- a/Utils/Daemon/Daemon.hh +++ b/Utils/Daemon/Daemon.hh @@ -23,11 +23,12 @@ /** \file \brief Daemon public header */ -#ifndef HH_Daemon_ -#define HH_Daemon_ 1 +#ifndef HH_SENF_Utils_Daemon_Daemon_ +#define HH_SENF_Utils_Daemon_Daemon_ 1 // Custom includes #include +#include "../Logger/SenfLog.hh" //#include "Daemon.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -103,6 +104,8 @@ namespace senf { class Daemon : boost::noncopyable { public: + SENF_LOG_CLASS_AREA(); + /////////////////////////////////////////////////////////////////////////// // Types @@ -155,15 +158,22 @@ namespace senf { int argc(); ///< Access command line parameter count char ** argv(); ///< Access command line parameters + void removeDaemonArgs(); ///< Remove the daemon arguments from argc()/argv() static void exit(unsigned code=0); ///< Terminate daemon with failure + void logReopen(); ///< Reopen the log files + /**< This is used when rotating the logs. By default, + SIGHUP calls logReopen. */ + ///\} int start(int argc, char ** argv); ///< Called from main() to launch daemon. /**< Normally not called directly but from the \ref SENF_DAEMON_MAIN macro. */ + static Daemon & instance(); ///< Return the Daemon instance + protected: Daemon(); @@ -212,6 +222,8 @@ namespace senf { bool pidfileCreated_; bool detached_; + + static Daemon * instance_; }; /** \brief Provide \c main() function @@ -231,7 +243,7 @@ namespace senf { } ///////////////////////////////hh.e//////////////////////////////////////// -//#include "Daemon.cci" +#include "Daemon.cci" //#include "Daemon.ct" //#include "Daemon.cti" #endif