dxd - dynax driver framework 2.1.0d73
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::virtuel::stream::device< desc_t > Class Template Reference

virtual streaming device interface class More...

#include <dx_virtual_stream_device.h>

+ Inheritance diagram for dx::virtuel::stream::device< desc_t >:
+ Collaboration diagram for dx::virtuel::stream::device< desc_t >:

Classes

struct  property
 

Public Types

typedef io_service_t creator
 
typedef desc_t desc
 

Public Member Functions

virtual uint32_t clocksource ()
 
virtual uint32_t clocksource (uint32_t clocksource) try
 
virtual void conclude () noexcept
 conclude notification: object will be removed. If you overwrite conclude() you also need to overwrite destructor and check if its needed to be called from there.
 
uint8_t configuration () const
 
virtual uint8_t configuration (uint8_t configuration)
 
uint8_t configurations () const
 
 device (generic::driver &driver, const creator &id)
 the device class constructor
 
 dx_catchall_rethrow ()
 
 dx_catchall_rethrow () int32_t iosize(uint32_t iosize) try
 
 dx_catchall_rethrow () virtual ~device() noexcept
 the virtual streaming device class destructor
 
 dx_catchall_rethrow (, "iosize: %d (current: %d)", iosize, hw.iosize) int32_t iosize() const try
 
void exception (const dx::exception &exception, bool filtered=false) const noexcept override
 notification exception handler
 
void info () override
 log object class information
 
int32_t iosize (uint32_t iosize, dx::event< user > &hw_clock) try
 
virtual void launch ()
 launch notification: object mounted and ready to use
 
bool monitor () noexcept
 
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t * monitor (bool force=false)
 
 operator const creator & () const noexcept
 auto converter into const creator
 
 operator creator * () noexcept
 auto converter into creator pointer
 
bool operator== (const creator &id) const noexcept
 
devicereset ()
 
virtual uint32_t samplerate () const
 
template<typename observer_t = uint32_t>
observer_t * samplerate () const
 
virtual uint32_t samplerate (uint32_t samplerate)
 
virtual void start ()
 
virtual void stop (bool=false)
 
uint32_t version () const
 

Public Attributes

generic::driverdriver
 
const creator id
 
bool launched {}
 
cf::preference preference
 
std::string puid
 persistent UID (i.e. serial number)
 
std::string puuid
 persistent universal UID
 
shared::memory< dx::stream::clock::monitorshared_monitor
 

Protected Attributes

struct { 
 
   dx::event< user > *   clock 
 
   uint32_t   iosize 
 
hw 
 

Detailed Description

template<typename desc_t>
class dx::virtuel::stream::device< desc_t >

virtual streaming device interface class

Exceptions
Incase of an error returned by the underlaying API the device class throws a dx::exception.

Member Typedef Documentation

◆ creator

template<typename desc_t >
typedef io_service_t dx::virtuel::stream::device< desc_t >::creator

◆ desc

template<typename desc_t >
typedef desc_t dx::virtuel::stream::device< desc_t >::desc

Constructor & Destructor Documentation

◆ device()

template<typename desc_t >
dx::virtuel::stream::device< desc_t >::device ( generic::driver & driver,
const creator & id )
inline

the device class constructor

Member Function Documentation

◆ clocksource() [1/2]

template<typename desc_t >
virtual uint32_t dx::virtuel::stream::device< desc_t >::clocksource ( )
inlinevirtual
+ Here is the caller graph for this function:

◆ clocksource() [2/2]

template<typename desc_t >
virtual uint32_t dx::virtuel::stream::device< desc_t >::clocksource ( uint32_t clocksource)
inlinevirtual
+ Here is the call graph for this function:

◆ conclude()

virtual void dx::object::conclude ( )
inlinevirtualnoexceptinherited

conclude notification: object will be removed. If you overwrite conclude() you also need to overwrite destructor and check if its needed to be called from there.

Reimplemented in dx::coreaudio::driver< dx::coreaudio::device >, dx::coreaudio::driver< device_t >, and dx::coreaudio::device.

+ Here is the caller graph for this function:

◆ configuration() [1/2]

template<typename desc_t >
uint8_t dx::virtuel::stream::device< desc_t >::configuration ( ) const
inline
+ Here is the caller graph for this function:

◆ configuration() [2/2]

template<typename desc_t >
virtual uint8_t dx::virtuel::stream::device< desc_t >::configuration ( uint8_t configuration)
inlinevirtual
+ Here is the call graph for this function:

◆ configurations()

template<typename desc_t >
uint8_t dx::virtuel::stream::device< desc_t >::configurations ( ) const
inline

◆ dx_catchall_rethrow() [1/4]

template<typename desc_t >
dx::virtuel::stream::device< desc_t >::dx_catchall_rethrow ( )

◆ dx_catchall_rethrow() [2/4]

template<typename desc_t >
dx::virtuel::stream::device< desc_t >::dx_catchall_rethrow ( )
inline

◆ dx_catchall_rethrow() [3/4]

template<typename desc_t >
dx::virtuel::stream::device< desc_t >::dx_catchall_rethrow ( )
inlinenoexcept

the virtual streaming device class destructor

◆ dx_catchall_rethrow() [4/4]

template<typename desc_t >
dx::virtuel::stream::device< desc_t >::dx_catchall_rethrow ( "iosize: %d (current: %d)" ,
iosize ,
hw. iosize ) const
inline

◆ exception()

template<typename desc_t >
void dx::virtuel::stream::device< desc_t >::exception ( const dx::exception & exception,
bool filtered = false ) const
inlineoverridevirtualnoexcept

notification exception handler

Implements dx::object.

+ Here is the call graph for this function:

◆ info()

template<typename desc_t >
void dx::virtuel::stream::device< desc_t >::info ( )
inlineoverridevirtual

log object class information

Implements dx::object.

◆ iosize()

template<typename desc_t >
int32_t dx::virtuel::stream::device< desc_t >::iosize ( uint32_t iosize,
dx::event< user > & hw_clock )
inline

◆ launch()

virtual void dx::object::launch ( )
inlinevirtualinherited

launch notification: object mounted and ready to use

Reimplemented in dx::usb::stream::device< desc_t >, dx::coreaudio::driver< dx::coreaudio::device >, and dx::coreaudio::driver< device_t >.

+ Here is the caller graph for this function:

◆ monitor() [1/2]

template<typename desc_t >
bool dx::virtuel::stream::device< desc_t >::monitor ( )
inlinenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ monitor() [2/2]

template<typename desc_t >
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t * dx::virtuel::stream::device< desc_t >::monitor ( bool force = false)
inline
+ Here is the call graph for this function:

◆ operator const creator &()

template<typename desc_t >
dx::virtuel::stream::device< desc_t >::operator const creator & ( ) const
inlinenoexcept

auto converter into const creator

◆ operator creator *()

template<typename desc_t >
dx::virtuel::stream::device< desc_t >::operator creator * ( )
inlinenoexcept

auto converter into creator pointer

◆ operator==()

template<typename desc_t >
bool dx::virtuel::stream::device< desc_t >::operator== ( const creator & id) const
inlinenoexcept

◆ reset()

template<typename desc_t >
device & dx::virtuel::stream::device< desc_t >::reset ( )
inline

◆ samplerate() [1/3]

template<typename desc_t >
virtual uint32_t dx::virtuel::stream::device< desc_t >::samplerate ( ) const
inlinevirtual
+ Here is the caller graph for this function:

◆ samplerate() [2/3]

template<typename desc_t >
template<typename observer_t = uint32_t>
observer_t * dx::virtuel::stream::device< desc_t >::samplerate ( ) const
inline

◆ samplerate() [3/3]

template<typename desc_t >
virtual uint32_t dx::virtuel::stream::device< desc_t >::samplerate ( uint32_t samplerate)
inlinevirtual
+ Here is the call graph for this function:

◆ start()

template<typename desc_t >
virtual void dx::virtuel::stream::device< desc_t >::start ( )
inlinevirtual

◆ stop()

template<typename desc_t >
virtual void dx::virtuel::stream::device< desc_t >::stop ( bool = false)
inlinevirtual

◆ version()

template<typename desc_t >
uint32_t dx::virtuel::stream::device< desc_t >::version ( ) const
inline

Member Data Documentation

◆ clock

template<typename desc_t >
dx::event<user>* dx::virtuel::stream::device< desc_t >::clock

◆ driver

template<typename desc_t >
generic::driver& dx::virtuel::stream::device< desc_t >::driver

◆ [struct]

struct { ... } dx::virtuel::stream::device< desc_t >::hw

◆ id

template<typename desc_t >
const creator dx::virtuel::stream::device< desc_t >::id

◆ iosize

template<typename desc_t >
uint32_t dx::virtuel::stream::device< desc_t >::iosize

◆ launched

bool dx::object::launched {}
inherited

◆ preference

template<typename desc_t >
cf::preference dx::virtuel::stream::device< desc_t >::preference

◆ puid

template<typename desc_t >
std::string dx::virtuel::stream::device< desc_t >::puid

persistent UID (i.e. serial number)

◆ puuid

template<typename desc_t >
std::string dx::virtuel::stream::device< desc_t >::puuid

persistent universal UID

◆ shared_monitor

template<typename desc_t >
shared::memory<dx::stream::clock::monitor> dx::virtuel::stream::device< desc_t >::shared_monitor

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Nov 15 2024

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.