dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::log Union Reference

the whole log setting in one 32 bit word: a dx::log::level per dx::log::scope per dx::log::module, four bits each. The word is what a driver, a kernel and a host exchange and compare; the named members are the same bits, and to/from name them for a preference, a command line or a property. The serialization macros hand the member list to the tree and CF sinks of dx_serialize.h, so the store holds the log resolved rather than the word. More...

#include <dx_log.h>

Collaboration diagram for dx::log:

Classes

struct  from
struct  module
 the parts of a driver a message is attributed to, each with its own dx::log::scope More...
struct  scope
 the phases a module is logged apart in - a device's setup may be traced while its operation stays quiet More...
struct  to

Public Types

enum class  level : uint8_t {
  none , error , warning , info ,
  debug , levels , last = debug , invalid = levels ,
  dflt = error
}
 rising verbosity: a message is logged where its level is at most the scope's More...

Public Member Functions

 operator uint32_t () const
bool operator== (const log &log) const
scope & operator[] (const char *name)
scope & operator[] (module::idx idx)
 the module's scopes; an unknown module answers with a shared invalid scope, which logs nothing and takes no setting

Public Attributes

struct { 
   scope   bus 
 monitor bus actions (low level PCI, USB, etc.) More...
   scope   interface 
 monitor API bureaucracy (CoreAudio/ CoreMIDI, PortClass, ASIO, etc.) More...
   scope   streaming 
 monitor low level streaming More...
   scope   vendor 
 monitor vendor specific More...
}; 
uint32_t raw {0x11111111}
 union already default initialized; remove initializer once even bill understands that and the standard.

Static Public Attributes

static auto constexpr id = "dx:log"
static constexpr const char * name [] {"none", "error", "warning", "info", "debug"}
static auto constexpr path = "dx:log:path"

Detailed Description

the whole log setting in one 32 bit word: a dx::log::level per dx::log::scope per dx::log::module, four bits each. The word is what a driver, a kernel and a host exchange and compare; the named members are the same bits, and to/from name them for a preference, a command line or a property. The serialization macros hand the member list to the tree and CF sinks of dx_serialize.h, so the store holds the log resolved rather than the word.

Member Enumeration Documentation

◆ level

enum class dx::log::level : uint8_t
strong

rising verbosity: a message is logged where its level is at most the scope's

Enumerator
none 
error 
warning 
info 
debug 
levels 
last 
invalid 
dflt 

Member Function Documentation

◆ operator uint32_t()

dx::log::operator uint32_t ( ) const
inline

◆ operator==()

bool dx::log::operator== ( const log & log) const
inline

◆ operator[]() [1/2]

scope & dx::log::operator[] ( const char * name)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator[]() [2/2]

scope & dx::log::operator[] ( module::idx idx)
inline

the module's scopes; an unknown module answers with a shared invalid scope, which logs nothing and takes no setting

Member Data Documentation

◆ [struct]

struct { ... } dx::log

◆ bus

scope dx::log::bus

monitor bus actions (low level PCI, USB, etc.)

◆ id

auto constexpr dx::log::id = "dx:log"
staticconstexpr

◆ interface

scope dx::log::interface

monitor API bureaucracy (CoreAudio/ CoreMIDI, PortClass, ASIO, etc.)

◆ name

const char* dx::log::name[] {"none", "error", "warning", "info", "debug"}
staticconstexpr

◆ path

auto constexpr dx::log::path = "dx:log:path"
staticconstexpr

◆ raw

uint32_t dx::log::raw {0x11111111}

union already default initialized; remove initializer once even bill understands that and the standard.

◆ streaming

scope dx::log::streaming

monitor low level streaming

◆ vendor

scope dx::log::vendor

monitor vendor specific


The documentation for this union 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.