#include <svcproc.h>
Inheritance diagram for PServiceProcess:
Miscellaneous functions | |
void | SetLogLevel (PSystemLog::Level level) |
PSystemLog::Level | GetLogLevel () const |
static PServiceProcess & | Current () |
Public Member Functions | |
virtual int | _main (void *arg=NULL) |
~PServiceProcess () | |
virtual void | Terminate () |
Callback functions | |
virtual BOOL | OnStart ()=0 |
virtual void | OnStop () |
virtual BOOL | OnPause () |
virtual void | OnContinue () |
virtual void | OnControl ()=0 |
Protected Member Functions | |
int | InitialiseService () |
void | _PXShowSystemWarning (PINDEX num, const PString &str) |
void | PXOnSignal (int) |
void | PXOnAsyncSignal (int) |
Protected Attributes | |
BOOL | debugMode |
Flag to indicate service is run in simulation mode. | |
PSystemLog::Level | currentLogLevel |
Current log level for PSYSTEMLOG# calls. | |
PString | systemLogFileName |
PString | pidFileToRemove |
BOOL | isTerminating |
Friends | |
void | PSystemLog::Output (PSystemLog::Level, const char *) |
PServiceProcess::PServiceProcess | ( | const char * | manuf, | |
const char * | name, | |||
WORD | majorVersion, | |||
WORD | minorVersion, | |||
CodeStatus | status, | |||
WORD | buildNumber | |||
) |
Create a new service process.
manuf | Name of manufacturer |
name | Name of product |
majorVersion | Major version number of the product |
minorVersion | Minor version number of the product |
status | Development status of the product |
buildNumber | Build number of the product |
PServiceProcess::~PServiceProcess | ( | ) |
PServiceProcess::PServiceProcess | ( | const char * | manuf, | |
const char * | name, | |||
WORD | majorVersion, | |||
WORD | minorVersion, | |||
CodeStatus | status, | |||
WORD | buildNumber | |||
) |
Create a new service process.
manuf | Name of manufacturer |
name | Name of product |
majorVersion | Major version number of the product |
minorVersion | Minor version number of the product |
status | Development status of the product |
buildNumber | Build number of the product |
virtual BOOL PServiceProcess::OnStart | ( | ) | [pure virtual] |
Called when the service is started. This typically initialises the service and returns TRUE if the service is ready to run. The Main()# function is then executed.
Implemented in PHTTPServiceProcess.
virtual void PServiceProcess::OnStop | ( | ) | [virtual] |
Called by the system when the service is stopped. One return from this function there is no guarentee that any more user code will be executed. Any cleaning up or closing of resource must be done in here.
Reimplemented in PHTTPServiceProcess.
virtual BOOL PServiceProcess::OnPause | ( | ) | [virtual] |
Called by the system when the service is to be paused. This will suspend any actions that the service may be executing. Usually this is less expensive in resource allocation etc than stopping and starting the service.
Reimplemented in PHTTPServiceProcess.
virtual void PServiceProcess::OnContinue | ( | ) | [virtual] |
Resume after the service was paused.
Reimplemented in PHTTPServiceProcess.
virtual void PServiceProcess::OnControl | ( | ) | [pure virtual] |
The Control menu option was used in the SysTray menu.
static PServiceProcess& PServiceProcess::Current | ( | ) | [static] |
Get the current service process object.
Reimplemented from PProcess.
Reimplemented in PHTTPServiceProcess.
void PServiceProcess::SetLogLevel | ( | PSystemLog::Level | level | ) | [inline] |
Set the level at which errors are logged. Only messages higher than or equal to the specified level will be logged.
The default is LogError# allowing fatal errors and ordinary\ errors to be logged and warning and information to be ignored.
If in debug mode then the default is LogInfo# allowing all messages to be displayed.
level | New log level |
PSystemLog::Level PServiceProcess::GetLogLevel | ( | ) | const [inline] |
Get the current level for logging.
virtual int PServiceProcess::_main | ( | void * | arg = NULL |
) | [virtual] |
Reimplemented from PProcess.
virtual void PServiceProcess::Terminate | ( | ) | [virtual] |
Terminate the process. Usually only used in abnormal abort situation.
Reimplemented from PProcess.
int PServiceProcess::InitialiseService | ( | ) | [protected] |
void PServiceProcess::_PXShowSystemWarning | ( | PINDEX | num, | |
const PString & | str | |||
) | [protected, virtual] |
Reimplemented from PProcess.
void PServiceProcess::PXOnSignal | ( | int | ) | [protected, virtual] |
Reimplemented from PProcess.
void PServiceProcess::PXOnAsyncSignal | ( | int | ) | [protected, virtual] |
Reimplemented from PProcess.
void PSystemLog::Output | ( | PSystemLog::Level | , | |
const char * | ||||
) | [friend] |
BOOL PServiceProcess::debugMode [protected] |
Flag to indicate service is run in simulation mode.
PSystemLog::Level PServiceProcess::currentLogLevel [protected] |
Current log level for PSYSTEMLOG# calls.
PString PServiceProcess::systemLogFileName [protected] |
PString PServiceProcess::pidFileToRemove [protected] |
BOOL PServiceProcess::isTerminating [protected] |