dxd - dynax driver framework 2.6.0d204
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::service::parser Class Reference

#include <dx_service.h>

Inheritance diagram for dx::service::parser:
Collaboration diagram for dx::service::parser:

Public Types

typedef std::deque< std::string > args

Public Member Functions

 catch (...)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 catch (const std::exception &__std_exception)
 dx_catchall_rethrow (, "%s: handle: %p, access:%x service: %p", id.c_str(), handle, access, service) manager(const std
 dx_catchall_rethrow (, "%s: handle: %p, service: %p", id.c_str(), handle, service) void install(const std
 dx_catchall_rethrow (head();) parser(const std
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="") try
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void operator<< (args &args) try
virtual void operator<< (const args &args)
virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void parse (args &args)
 parser (const std::string &id, const char *name, const std::string &desc="", const decltype(dictionary)&dictionary={})
virtual void quiet (const args &={}) noexcept
dx::service::manager::status promoted this (::DWORD value)
dx::service::manager::enumerate promoted this (::DWORD value)

Public Attributes

dx::registry registry
dx::service::manager::enumeratethis
dx::service::manager::statusthis

Protected Member Functions

virtual void arg (args &args) try
 catch (...)
 catch (...)
 catch (...)
 catch (...)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
 dx_catchall_rethrow () virtual void info(args &) try
 dx_catchall_rethrow () virtual void install(args &args) try
 dx_catchall_rethrow () virtual void kill(args &) try
 dx_catchall_rethrow () virtual void load(args &args) try
 dx_catchall_rethrow () virtual void remove(args &) try
 dx_catchall_rethrow () virtual void run(args &) try
 dx_catchall_rethrow () virtual void start(args &args) try
 dx_catchall_rethrow () virtual void stop(args &) try
bool head () const noexcept override
virtual void help (args &args) try
virtual void help_head () const noexcept
virtual void help_scope () const noexcept
virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void no_args (const args &args) try
DX_PRAGMA_IGNORE_RETURN_VALUE_END auto select (const std::string &id) try
virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void version (const args &args={}) try

Protected Attributes

::DWORD access {}
std::string desc
std::map< std::deque< std::string >, dispatchdictionary
::SC_HANDLE handle {}
std::string id
const char * name {}
struct { 
   struct { 
      bool   ignore 
   }   error
   bool   quiet 
parameter
std::string path
::SC_HANDLE service {}

Member Typedef Documentation

◆ args

typedef std::deque<std::string> dx::parser::args
inherited

Constructor & Destructor Documentation

◆ parser()

dx::service::parser::parser ( const std::string & id,
const char * name,
const std::string & desc = "",
const decltype(dictionary)& dictionary = {} )
inline

Member Function Documentation

◆ arg()

virtual void dx::service::parser::arg ( args & args)
inlineprotectedvirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ catch() [1/15]

dx::parser::catch ( ...)
inlineinherited

◆ catch() [2/15]

dx::parser::catch ( ...)
inlineprotectedinherited

◆ catch() [3/15]

dx::parser::catch ( ...)
inlineprotectedinherited

◆ catch() [4/15]

dx::parser::catch ( ...)
inlineprotectedinherited

◆ catch() [5/15]

dx::parser::catch ( ...)
inlineprotectedinherited

◆ catch() [6/15]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::parser::catch ( const dx::exception & __dx_exception)
inlineinherited

◆ catch() [7/15]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::parser::catch ( const dx::exception & __dx_exception)
inlineprotectedinherited

◆ catch() [8/15]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::parser::catch ( const dx::exception & __dx_exception)
inlineprotectedinherited

◆ catch() [9/15]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::parser::catch ( const dx::exception & __dx_exception)
inlineprotectedinherited

◆ catch() [10/15]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::parser::catch ( const dx::exception & __dx_exception)
inlineprotectedinherited

◆ catch() [11/15]

dx::parser::catch ( const std::exception & __std_exception)
inlineinherited

◆ catch() [12/15]

dx::parser::catch ( const std::exception & __std_exception)
inlineprotectedinherited

◆ catch() [13/15]

dx::parser::catch ( const std::exception & __std_exception)
inlineprotectedinherited

◆ catch() [14/15]

dx::parser::catch ( const std::exception & __std_exception)
inlineprotectedinherited

◆ catch() [15/15]

dx::parser::catch ( const std::exception & __std_exception)
inlineprotectedinherited

◆ dx_catchall_rethrow() [1/11]

dx::service::manager::dx_catchall_rethrow ( "%s: handle: % p,
access:%x service:%p" ,
id. c_str(),
handle ,
access ,
service  ) const
inlineinherited

◆ dx_catchall_rethrow() [2/11]

dx::service::manager::dx_catchall_rethrow ( "%s: handle: % p,
service:%p" ,
id. c_str(),
handle ,
service  ) const
inlineinherited

◆ dx_catchall_rethrow() [3/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [4/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [5/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [6/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [7/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [8/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [9/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [10/11]

dx::service::parser::dx_catchall_rethrow ( ) &
inlineprotected

◆ dx_catchall_rethrow() [11/11]

dx::service::parser::dx_catchall_rethrow ( head(); ) const
inline

◆ head()

bool dx::service::parser::head ( ) const
inlineoverrideprotectedvirtualnoexcept

Reimplemented from dx::parser.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ help()

virtual void dx::parser::help ( args & args)
inlineprotectedvirtualinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ help_head()

virtual void dx::parser::help_head ( ) const
inlineprotectedvirtualnoexceptinherited

Reimplemented in dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >, and dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ help_scope()

virtual void dx::parser::help_scope ( ) const
inlineprotectedvirtualnoexceptinherited

Reimplemented in dx::select< parsers_t >, dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >, and dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >.

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 = "" )
inlineinherited

◆ no_args()

virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void dx::parser::no_args ( const args & args)
inlineprotectedvirtualinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator<<() [1/2]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void dx::parser::operator<< ( args & args)
inlinevirtualinherited

Reimplemented in dx::select< parsers_t >.

Here is the call graph for this function:

◆ operator<<() [2/2]

virtual void dx::parser::operator<< ( const args & args)
inlinevirtualinherited

◆ parse()

virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void dx::parser::parse ( args & args)
inlinevirtualinherited

Reimplemented in dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >, and dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ quiet()

virtual void dx::parser::quiet ( const args & = {})
inlinevirtualnoexceptinherited

◆ select()

DX_PRAGMA_IGNORE_RETURN_VALUE_END auto dx::parser::select ( const std::string & id)
inlineprotectedinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ this() [1/2]

dx::service::manager::status promoted dx::service::manager::this ( ::DWORD value)
inlineinherited

◆ this() [2/2]

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

◆ version()

virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void dx::parser::version ( const args & args = {})
inlineprotectedvirtualinherited
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ access

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

◆ desc

std::string dx::service::manager::desc
protectedinherited

◆ dictionary

std::map<std::deque<std::string>, dispatch> dx::parser::dictionary
protectedinherited
Initial value:
{
{{"--help", "-h", "-?"},{std::bind(&parser::help, this, std::placeholders::_1), "help or detailed help on specific arguments", [this](){for(const auto& verb: dictionary) std::cout<< "["<< verb.first.front()<< "] ";}, true}},
{{"--continue", "--no-error", "--ignore", "--ignore-error"},
{[this](args& args) {parameter.error.ignore= true; no_args(args);}, "ignore errors and continue"}},
{{"--quiet", "-q"}, {std::bind(&parser::quiet, this, std::placeholders::_1), "quiet!"}},
{{"--version", "-v"}, {std::bind(&parser::version, this, std::placeholders::_1), std::string{"display "}+ name+ " version"}},
}
virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void version(const args &args={}) try
Definition dx_parser.h:204
std::map< std::deque< std::string >, dispatch > dictionary
Definition dx_parser.h:126
const char * name
Definition dx_parser.h:59
bool quiet
Definition dx_parser.h:61
virtual void help(args &args) try
Definition dx_parser.h:163
virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void no_args(const args &args) try
Definition dx_parser.h:197
std::deque< std::string > args
Definition dx_parser.h:55
struct dx::parser::@046247176025362246310022157273031025265032273157 parameter

◆ [struct]

struct { ... } dx::parser::error

◆ handle

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

◆ id

std::string dx::service::manager::id
protectedinherited

◆ ignore

bool dx::parser::ignore
inherited

◆ name

const char* dx::parser::name {}
protectedinherited

◆ [struct]

struct { ... } dx::parser::parameter

◆ path

std::string dx::service::manager::path
protectedinherited

◆ quiet

bool dx::parser::quiet
inherited

◆ registry

dx::registry dx::service::manager::registry
inherited

◆ service

::SC_HANDLE dx::service::manager::service {}
protectedinherited

◆ this [1/2]

dx::service::manager::enumerate* dx::service::manager::this
inherited

◆ this [2/2]

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

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.