Poco::Util

class WinService

Library: Util
Package: Windows
Header: Poco/Util/WinService.h

Description

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.

Member Summary

Member Functions: displayName, getStartup, isRegistered, isRunning, name, path, registerService, setStartup, start, stop, unregisterService

Enumerations

Startup

SVC_AUTO_START

SVC_MANUAL_START

SVC_DISABLED

Constructors

WinService

WinService(
    const std::string & name
);

Creates the WinService, using the given service name.

Destructor

~WinService

~WinService();

Destroys the WinService.

Member Functions

displayName

std::string displayName() const;

Returns the service's display name.

getStartup

Startup getStartup() const;

Returns the startup mode for the service.

isRegistered

bool isRegistered() const;

Returns true if the service has been registered with the Service Control Manager.

isRunning

bool isRunning() const;

Returns true if the service is currently running.

name

const std::string & name() const;

Returns the service name.

path

std::string path() const;

Returns the path to the service executable.

Throws a NotFoundException if the service has not been registered.

registerService

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.

registerService

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.

setStartup

void setStartup(
    Startup startup
);

Sets the startup mode for the service.

start

void start();

Starts the service. Does nothing if the service is already running.

Throws a NotFoundException if the service has not been registered.

stop

void stop();

Stops the service. Does nothing if the service is not running.

Throws a NotFoundException if the service has not been registered.

unregisterService

void unregisterService();

Deletes the Windows service.

Throws a NotFoundException if the service has not been registered.

Variables

STARTUP_TIMEOUT static

static const int STARTUP_TIMEOUT;