class Poco::Util::WinService
Overview
This class provides an object-oriented interface to the Windows Service Control Manager for registering, unregistering, configuring, starting and stopping services. More…
#include <WinService.h> class WinService { public: // enums enum Startup; // fields static const int STARTUP_TIMEOUT; // construction WinService(const std::string& name); // methods const std::string& name() const; std::string displayName() const; std::string path() const; void registerService( const std::string& path, const std::string& displayName ); void registerService(const std::string& path); void unregisterService(); bool isRegistered() const; bool isRunning() const; void start(); void stop(); void setStartup(Startup startup); Startup getStartup() const; void setDescription(const std::string& description); std::string getDescription() const; protected: // fields static const std::string REGISTRY_KEY; static const std::string REGISTRY_DESCRIPTION; };
Detailed Documentation
This class provides an object-oriented interface to the Windows Service Control Manager for registering, unregistering, configuring, starting and stopping services.
This class is only available on Windows platforms.
Construction
WinService(const std::string& name)
Creates the WinService, using the given service name.
Methods
const std::string& name() const
Returns the service name.
std::string displayName() const
Returns the service’s display name.
std::string path() const
Returns the path to the service executable.
Throws a NotFoundException if the service has not been registered.
void registerService( const std::string& path, const std::string& displayName )
Creates a Windows service with the executable specified by path and the given displayName.
Throws a ExistsException if the service has already been registered.
void registerService(const std::string& path)
Creates a Windows service with the executable specified by path and the given displayName.
The service name is used as display name.
Throws a ExistsException if the service has already been registered.
void unregisterService()
Deletes the Windows service.
Throws a NotFoundException if the service has not been registered.
bool isRegistered() const
Returns true if the service has been registered with the Service Control Manager.
bool isRunning() const
Returns true if the service is currently running.
void start()
Starts the service.
Does nothing if the service is already running.
Throws a NotFoundException if the service has not been registered.
void stop()
Stops the service.
Does nothing if the service is not running.
Throws a NotFoundException if the service has not been registered.
void setStartup(Startup startup)
Sets the startup mode for the service.
Startup getStartup() const
Returns the startup mode for the service.
void setDescription(const std::string& description)
Sets the service description in the registry.
std::string getDescription() const
Returns the service description from the registry.