A singleton class that helps you write Windows services and Unix daemons using Ice. More...
#include <Ice/Ice.h>
Public Member Functions | |
Service () | |
Default constructor. | |
Ice::CommunicatorPtr | communicator () const |
Gets the communicator created by the service. | |
virtual void | handleInterrupt (int sig) |
Handles a signal. | |
virtual void | interrupt () |
Notifies the service that the program received a signal. | |
int | main (const StringSeq &args, InitializationData initData={}) |
The primary entry point for services. | |
int | main (int argc, const char *const argv[], InitializationData initData={}) |
The primary entry point for services. | |
int | main (int argc, const wchar_t *const argv[], InitializationData initData={}) |
The primary entry point for services. | |
std::string | name () const |
Gets the program name. | |
bool | service () const |
Indicates whether the program is running as a Win32 service or Unix daemon. | |
virtual bool | shutdown () |
Shuts down the service. The default implementation calls Communicator::shutdown. |
Static Public Member Functions | |
static Service * | instance () |
Gets the Service singleton. |
Protected Types | |
using | ServiceError = LoggerOutput<Service, Service*, &Service::error> |
Logger utility class for an error. | |
using | ServicePrint = LoggerOutput<Service, Service*, &Service::print> |
Logger utility class for a literal message. | |
using | ServiceSysError = LoggerOutput<Service, Service*, &Service::syserror> |
Logger utility class for a system error. | |
using | ServiceTrace = LoggerOutput<Service, Service*, &Service::trace> |
Logger utility class for a trace message. | |
using | ServiceWarning = LoggerOutput<Service, Service*, &Service::warning> |
Logger utility class for a warning. |
Protected Member Functions | |
void | disableInterrupt () |
Ignores signals. | |
void | enableInterrupt () |
Makes this service call handleInterrupt when it receives a signal. | |
virtual void | error (const std::string &msg) |
Logs an error. | |
virtual Ice::CommunicatorPtr | initializeCommunicator (int &argc, char *argv[], InitializationData initData) |
Initializes a communicator. | |
virtual void | print (const std::string &msg) |
Logs a literal message. | |
virtual bool | start (int argc, char *argv[], int &status)=0 |
Prepares a service for execution, including the creation and activation of object adapters and servants. | |
virtual bool | stop () |
Cleans up resources after shutting down. | |
virtual void | syserror (const std::string &msg) |
Logs a system error, which includes a description of the current system error code. | |
virtual void | trace (const std::string &msg) |
Logs trace information. | |
virtual void | waitForShutdown () |
Blocks until the service shuts down. The default implementation calls Communicator::waitForShutdown. | |
virtual void | warning (const std::string &msg) |
Logs a warning. |
A singleton class that helps you write Windows services and Unix daemons using Ice.