dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::service::manager Class Reference

a service as the control manager sees it: installed, started, stopped and removed from here, its state followed by the promoted below More...

#include <dx_service.h>

Inheritance diagram for dx::service::manager:
Collaboration diagram for dx::service::manager:

Classes

class  enumerate
 the machine's services, re-read whenever one of them changes state More...
class  promoted
 a value the control manager notifies about, on a thread of its own: the notification is an alertable wait, so the callback runs on that thread and commits what it read. A service marked for deletion ends the watch More...
class  status
 the service's current state; a delete pending answer closes the handle More...

Public Member Functions

void close () noexcept
void initialize (const std::string &id="", const ::DWORD(&access)[2]={SC_MANAGER_ALL_ACCESS, SERVICE_ALL_ACCESS}, const std::string desc="", const std::string &path="")
void install (const std::string &name)
 manager ()=default
 manager (const std::string &id, const ::DWORD(&access)[2]={SC_MANAGER_ALL_ACCESS, SERVICE_ALL_ACCESS}, const std::string &desc="", const std::string &path="")
 manager (const std::string &id, const std::string &desc="", const std::string &path="")
void open ()
 operator std::unique_ptr<::QUERY_SERVICE_CONFIGA > ()
 operator std::unique_ptr<::SERVICE_DESCRIPTION > ()
 operator::SERVICE_STATUS_PROCESS ()
void operator= (::SERVICE_LOAD_TYPE type)
void remove ()
void start (parser::args &args)
void stop ()
dx::service::manager::enumerate promoted this (::DWORD value)
dx::service::manager::status promoted this (promoted::lock_t &&lock, const ::DWORD &value, const ::DWORD &)
 ~manager ()

Public Attributes

dx::service::manager::enumerate * this
dx::service::manager::status * this

Protected Attributes

::DWORD access {}
std::string desc
::SC_HANDLE handle {}
std::string id
std::string path
::SC_HANDLE service {}

Detailed Description

a service as the control manager sees it: installed, started, stopped and removed from here, its state followed by the promoted below

Constructor & Destructor Documentation

◆ manager() [1/3]

dx::service::manager::manager ( )
default
Here is the caller graph for this function:

◆ manager() [2/3]

dx::service::manager::manager ( const std::string & id,
const ::DWORD(&) access[2] = {SC_MANAGER_ALL_ACCESS, SERVICE_ALL_ACCESS},
const std::string & desc = "",
const std::string & path = "" )
inline

◆ manager() [3/3]

dx::service::manager::manager ( const std::string & id,
const std::string & desc = "",
const std::string & path = "" )
inline
Here is the call graph for this function:

◆ ~manager()

dx::service::manager::~manager ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ close()

void dx::service::manager::close ( )
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize()

void dx::service::manager::initialize ( const std::string & id = "",
const ::DWORD(&) access[2] = {SC_MANAGER_ALL_ACCESS, SERVICE_ALL_ACCESS},
const std::string desc = "",
const std::string & path = "" )
inline

◆ install()

void dx::service::manager::install ( const std::string & name)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ open()

void dx::service::manager::open ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator std::unique_ptr<::QUERY_SERVICE_CONFIGA >()

dx::service::manager::operator std::unique_ptr<::QUERY_SERVICE_CONFIGA > ( )
inline
Here is the call graph for this function:

◆ operator std::unique_ptr<::SERVICE_DESCRIPTION >()

dx::service::manager::operator std::unique_ptr<::SERVICE_DESCRIPTION > ( )
inline
Here is the call graph for this function:

◆ operator::SERVICE_STATUS_PROCESS()

dx::service::manager::operator::SERVICE_STATUS_PROCESS ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void dx::service::manager::operator= ( ::SERVICE_LOAD_TYPE type)
inline
Here is the call graph for this function:

◆ remove()

void dx::service::manager::remove ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ start()

void dx::service::manager::start ( parser::args & args)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ stop()

void dx::service::manager::stop ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ this() [1/2]

dx::service::manager::enumerate promoted dx::service::manager::this ( ::DWORD value)
inline

◆ this() [2/2]

dx::service::manager::status promoted dx::service::manager::this ( promoted::lock_t && lock,
const ::DWORD & value,
const ::DWORD &  )
inline

Member Data Documentation

◆ access

::DWORD dx::service::manager::access {}
protected

◆ desc

std::string dx::service::manager::desc
protected

◆ handle

::SC_HANDLE dx::service::manager::handle {}
protected

◆ id

std::string dx::service::manager::id
protected

◆ path

std::string dx::service::manager::path
protected

◆ service

::SC_HANDLE dx::service::manager::service {}
protected

◆ this [1/2]

dx::service::manager::enumerate* dx::service::manager::this
Initial value:
{[this](::DWORD value){
switch(value){
case SERVICE_NOTIFY_DELETE_PENDING:
close();
break;
}}}}
void close() noexcept
Definition dx_service.h:380

◆ this [2/2]

dx::service::manager::status* dx::service::manager::this

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.