Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

OmniEvents::Service Class Reference

Singleton class that contains various methods for running a Windows service. More...

#include <daemon_windows.h>

List of all members.

Public Methods

 Service ()
 ~Service ()
void start (int &argc, char **&argv)
void tracefile (const char *val)
 Set _tracefile. More...

void pidfile (const char *val)
 Set _pidfile. More...

void foreground (bool val)
 Set _foreground. More...

void daemonize ()
 Redirects output streams to tracefile. More...

void runningOk ()
 Called to signal that all startup operations have completed OK. More...

void shutdown ()
 Exit handler set with on_exit() - shuts down the service. More...


Static Public Methods

void log (const char *message)
 Callback, used as a parameter to omniORB::setLogFunction(). More...

void ctrlHandler (DWORD controlCode)
 Handles control codes from the Service Control Manager. More...


Private Methods

void Service::setArgcArgv (int &argc, char **&argv)
void install (int argc, char **argv) const
void uninstall () const
void readParameters ()
 Populates _parameters from the Registry. More...

void writeParameters (int argc, char **argv) const
 Writes args 2+ to the Registry. More...

bool Service::setServiceStatus (DWORD currentState, DWORD win32ExitCode, DWORD serviceSpecificExitCode, DWORD checkPoint, DWORD waitHint)

Private Attributes

char * _tracefile
 The tracefile name (if any). More...

const char * _regSubKey
bool _serviceRunning
int _callCount
char * _parameters
 Stores parameters read from the registry. More...

char ** _argv
 Replacement argv array, read from registry. More...

std::ostream * _logstream
SERVICE_STATUS_HANDLE _serviceStatusHandle
 Windows thing. More...


Detailed Description

Singleton class that contains various methods for running a Windows service.

Definition at line 40 of file daemon_windows.h.


Constructor & Destructor Documentation

OmniEvents::Service::Service  
 

Definition at line 180 of file daemon_windows.cc.

References PACKAGE_NAME.

OmniEvents::Service::~Service  
 

Definition at line 192 of file daemon_windows.cc.

References _argv, _logstream, _parameters, and _tracefile.


Member Function Documentation

void OmniEvents::Service::ctrlHandler DWORD    controlCode [static]
 

Handles control codes from the Service Control Manager.

Definition at line 340 of file daemon_windows.cc.

void OmniEvents::Service::daemonize  
 

Redirects output streams to tracefile.

Definition at line 292 of file daemon_windows.cc.

References _logstream, _tracefile, and omniORB::setLogFunction().

void OmniEvents::Service::foreground bool    val
 

Set _foreground.

Definition at line 216 of file daemon_windows.cc.

void OmniEvents::Service::install int    argc,
char **    argv
const [private]
 

Definition at line 383 of file daemon_windows.cc.

References _regSubKey, HERE, PACKAGE_NAME, OmniEvents::RegistryKey::setValueStr(), and writeParameters().

Referenced by start().

void OmniEvents::Service::log const char *    message [static]
 

Callback, used as a parameter to omniORB::setLogFunction().

Definition at line 334 of file daemon_windows.cc.

References _logstream.

void OmniEvents::Service::pidfile const char *    val
 

Set _pidfile.

Definition at line 209 of file daemon_windows.cc.

void OmniEvents::Service::readParameters   [private]
 

Populates _parameters from the Registry.

Definition at line 485 of file daemon_windows.cc.

References _parameters, _regSubKey, HERE, and OmniEvents::RegistryKey::queryValueStr().

Referenced by start().

void OmniEvents::Service::runningOk  
 

Called to signal that all startup operations have completed OK.

Definition at line 309 of file daemon_windows.cc.

void OmniEvents::Service::Service::setArgcArgv int &    argc,
char **&    argv
[private]
 

bool OmniEvents::Service::Service::setServiceStatus DWORD    currentState,
DWORD    win32ExitCode,
DWORD    serviceSpecificExitCode,
DWORD    checkPoint,
DWORD    waitHint
[private]
 

void OmniEvents::Service::shutdown  
 

Exit handler set with on_exit() - shuts down the service.

Definition at line 319 of file daemon_windows.cc.

References _logstream, and _serviceRunning.

void OmniEvents::Service::start int &    argc,
char **&    argv
 

Definition at line 223 of file daemon_windows.cc.

References _callCount, _parameters, _serviceRunning, _serviceStatusHandle, HERE, install(), PACKAGE_NAME, readParameters(), uninstall(), and writeParameters().

void OmniEvents::Service::tracefile const char *    val
 

Set _tracefile.

Definition at line 202 of file daemon_windows.cc.

References _tracefile.

void OmniEvents::Service::uninstall   const [private]
 

Definition at line 448 of file daemon_windows.cc.

References HERE, and PACKAGE_NAME.

Referenced by start().

void OmniEvents::Service::writeParameters int    argc,
char **    argv
const [private]
 

Writes args 2+ to the Registry.

Definition at line 502 of file daemon_windows.cc.

References _regSubKey, HERE, and OmniEvents::RegistryKey::setValueStr().

Referenced by install(), and start().


Member Data Documentation

char** OmniEvents::Service::_argv [private]
 

Replacement argv array, read from registry.

Definition at line 75 of file daemon_windows.h.

Referenced by ~Service().

int OmniEvents::Service::_callCount [private]
 

Definition at line 73 of file daemon_windows.h.

Referenced by start().

std::ostream* OmniEvents::Service::_logstream [private]
 

Definition at line 76 of file daemon_windows.h.

Referenced by daemonize(), log(), shutdown(), and ~Service().

char* OmniEvents::Service::_parameters [private]
 

Stores parameters read from the registry.

Definition at line 74 of file daemon_windows.h.

Referenced by readParameters(), start(), and ~Service().

const char* OmniEvents::Service::_regSubKey [private]
 

Definition at line 71 of file daemon_windows.h.

Referenced by install(), readParameters(), and writeParameters().

bool OmniEvents::Service::_serviceRunning [private]
 

Definition at line 72 of file daemon_windows.h.

Referenced by shutdown(), and start().

SERVICE_STATUS_HANDLE OmniEvents::Service::_serviceStatusHandle [private]
 

Windows thing.

Definition at line 77 of file daemon_windows.h.

Referenced by start().

char* OmniEvents::Service::_tracefile [private]
 

The tracefile name (if any).

Definition at line 70 of file daemon_windows.h.

Referenced by daemonize(), tracefile(), and ~Service().


The documentation for this class was generated from the following files:
Generated on Fri Nov 19 17:42:37 2004 for OmniEvents by doxygen1.2.15