CArchDaemonNone Class Reference

Dummy implementation of IArchDaemon. More...

#include <CArchDaemonNone.h>

Inherits IArchDaemon.

Inherited by CArchDaemonUnix.

Collaboration diagram for CArchDaemonNone:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void installDaemon (const char *name, const char *description, const char *pathname, const char *commandLine, const char *dependencies, bool allUsers)
 Install daemon.
virtual void uninstallDaemon (const char *name, bool allUsers)
 Uninstall daemon.
virtual int daemonize (const char *name, DaemonFunc func)
 Daemonize the process.
virtual bool canInstallDaemon (const char *name, bool allUsers)
 Check if user has permission to install the daemon.
virtual bool isDaemonInstalled (const char *name, bool allUsers)
 Check if the daemon is installed.

Detailed Description

Dummy implementation of IArchDaemon.

This class implements IArchDaemon for a platform that does not have daemons. The install and uninstall functions do nothing, the query functions return false, and daemonize() simply calls the passed function and returns its result.

Definition at line 29 of file CArchDaemonNone.h.


Member Function Documentation

bool CArchDaemonNone::canInstallDaemon ( const char *  name,
bool  allUsers 
) [virtual]

Check if user has permission to install the daemon.

Returns true iff the caller has permission to install or uninstall the daemon. Note that even if this method returns true it's possible that installing/uninstalling the service may still fail. This method ignores whether or not the service is already installed.

Implements IArchDaemon.

Definition at line 57 of file CArchDaemonNone.cpp.

int CArchDaemonNone::daemonize ( const char *  name,
DaemonFunc  func 
) [virtual]

Daemonize the process.

Daemonize. Throw XArchDaemonFailed on error. name is the name of the daemon. Once daemonized, func is invoked and daemonize returns when and what it does.

Exactly what happens when daemonizing depends on the platform.

  • unix: Detaches from terminal. func gets passed one argument, the name passed to daemonize().
  • win32: Becomes a service. Argument 0 is the name of the service and the rest are the arguments passed to StartService(). func is only called when the service is actually started. func must call CArchMiscWindows::runDaemon() to finally becoming a service. The runFunc function passed to runDaemon() must call CArchMiscWindows::daemonRunning(true) when it enters the main loop (i.e. after initialization) and CArchMiscWindows::daemonRunning(false) when it leaves the main loop. The stopFunc function passed to runDaemon() is called when the daemon must exit the main loop and it must cause runFunc to return. func should return what runDaemon() returns. func or runFunc can call CArchMiscWindows::daemonFailed() to indicate startup failure.

Implements IArchDaemon.

Reimplemented in CArchDaemonUnix.

Definition at line 49 of file CArchDaemonNone.cpp.

void CArchDaemonNone::installDaemon ( const char *  name,
const char *  description,
const char *  pathname,
const char *  commandLine,
const char *  dependencies,
bool  allUsers 
) [virtual]

Install daemon.

Install a daemon. name is the name of the daemon passed to the system and description is a short human readable description of the daemon. pathname is the path to the daemon executable. commandLine should not include the name of program as the first argument. If allUsers is true then the daemon will be installed to start at boot time, otherwise it will be installed to start when the current user logs in. If dependencies is not NULL then it's a concatenation of NUL terminated other daemon names followed by a NUL; the daemon will be configured to startup after the listed daemons. Throws an XArchDaemon exception on failure.

Implements IArchDaemon.

Definition at line 32 of file CArchDaemonNone.cpp.

bool CArchDaemonNone::isDaemonInstalled ( const char *  name,
bool  allUsers 
) [virtual]

Check if the daemon is installed.

Returns true iff the daemon is installed.

Implements IArchDaemon.

Definition at line 63 of file CArchDaemonNone.cpp.

void CArchDaemonNone::uninstallDaemon ( const char *  name,
bool  allUsers 
) [virtual]

Uninstall daemon.

Uninstall a daemon. Throws an XArchDaemon on failure.

Implements IArchDaemon.

Definition at line 43 of file CArchDaemonNone.cpp.


The documentation for this class was generated from the following files:

Generated on 12 Nov 2010 for synergy-plus by  doxygen 1.6.1