dxd - dynax driver framework 2.6.0d179
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::device< id_t, preference_t > Class Template Reference

abstract commom base device interface class More...

#include <dx_device.h>

+ Inheritance diagram for dx::device< id_t, preference_t >:
+ Collaboration diagram for dx::device< id_t, preference_t >:

Classes

class  client_map
 

Public Member Functions

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.
 
 device (decltype(driver)&driver, const id_t &id)
 the device class constructor
 
 device (decltype(driver)&driver, const id_t &id, preference_t &&preference)
 
void exception (const dx::exception &exception, bool filtered=false) noexcept override
 notification exception handler
 
void info (std::ostream &os) noexcept override
 log object class information
 
virtual void launch ()
 launch notification: object mounted and ready to use
 
virtual void sleep ()
 notify system will sleep stub
 
virtual void wake ()
 notify system wake completed stub
 

Public Attributes

dx::driver< decltype(id), preference_t > & driver
 
const id_t id
 
bool launched {}
 
preference_t preference
 
std::string puid
 persistent UID - system unique - could change with location
 
std::string puuid
 persistent universal UID - universally unique ID (i.e. serial number)
 

Detailed Description

template<typename id_t, typename preference_t = dx::preference>
class dx::device< id_t, preference_t >

abstract commom base device interface class

Constructor & Destructor Documentation

◆ device() [1/2]

template<typename id_t , typename preference_t = dx::preference>
dx::device< id_t, preference_t >::device ( decltype(driver)& driver,
const id_t & id )
inline

the device class constructor

◆ device() [2/2]

template<typename id_t , typename preference_t = dx::preference>
dx::device< id_t, preference_t >::device ( decltype(driver)& driver,
const id_t & id,
preference_t && preference )
inline

Member Function Documentation

◆ 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::proxy::stream::_device< desc_t, preference_t, stream_t >, dx::usb::pipe< device_t >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t >, dx::coreaudio::stream::device< desc_t, preference_t, stream_t >, dx::proxy::device< dx::preference >, dx::proxy::device<>, dx::proxy::device< preference_t >, dx::map::driver< device<> >, and dx::map::driver< device_t >.

+ Here is the caller graph for this function:

◆ exception()

template<typename id_t , typename preference_t = dx::preference>
void dx::device< id_t, preference_t >::exception ( const dx::exception & exception,
bool filtered = false )
inlineoverridevirtualnoexcept

notification exception handler

Implements dx::object.

Reimplemented in dx::virtuel::stream::_device< desc_t, preference_t, stream_t >, dx::usb::platform::device< preference_t >, dx::asio::client::_device< desc_t, preference_t, stream_t >, dx::proxy::device<>, and dx::proxy::device< preference_t >.

+ Here is the call graph for this function:

◆ info()

◆ launch()

◆ sleep()

template<typename id_t , typename preference_t = dx::preference>
virtual void dx::device< id_t, preference_t >::sleep ( )
inlinevirtual

notify system will sleep stub

+ Here is the caller graph for this function:

◆ wake()

template<typename id_t , typename preference_t = dx::preference>
virtual void dx::device< id_t, preference_t >::wake ( )
inlinevirtual

notify system wake completed stub

Reimplemented in dx::stream::device< dx::stream::control< dx::device< dx::guid, dx::preference > >, desc, dx::stream::shared::stream< device< desc, dx::preference, dx::stream::shared::stream > > >, dx::stream::device< dx::stream::control< dx::device< dx::guid, preference_t > >, desc_t, stream_t >, dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >, dx::stream::device< dx::stream::control< dx::device<::AudioObjectID, cf::preference > >, dx::virtuel::stream::desc, dx::stream::stream< device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream > > >, dx::stream::device< dx::stream::control< dx::device<::AudioObjectID, cf::preference > >, dx::virtuel::stream::desc, stream< device< dx::virtuel::stream::desc, cf::preference, stream > > >, dx::stream::device< dx::stream::control< dx::device<::AudioObjectID, preference_t > >, desc_t, stream_t >, dx::stream::device< dx::stream::control< dx::device<::MIDIDeviceRef, cf::preference > >, desc, stream< device< desc, cf::preference, stream > > >, dx::stream::device< dx::stream::control< dx::device<::MIDIDeviceRef, preference_t > >, desc_t, stream_t >, dx::stream::device< dx::stream::control< dx::proxy::device< dx::preference > >, dx::stream::desc<>, stream< device< dx::stream::desc<>, dx::preference, stream > > >, dx::stream::device< dx::stream::control< dx::proxy::device< preference_t > >, desc_t, stream_t >, dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >, and dx::stream::device< dx::stream::control< usb::device< preference_t > >, desc_t, stream_t >.

+ Here is the caller graph for this function:

Member Data Documentation

◆ driver

template<typename id_t , typename preference_t = dx::preference>
dx::driver<decltype(id), preference_t>& dx::device< id_t, preference_t >::driver

◆ id

template<typename id_t , typename preference_t = dx::preference>
const id_t dx::device< id_t, preference_t >::id

◆ launched

bool dx::object::launched {}
inherited

◆ preference

template<typename id_t , typename preference_t = dx::preference>
preference_t dx::device< id_t, preference_t >::preference

◆ puid

template<typename id_t , typename preference_t = dx::preference>
std::string dx::device< id_t, preference_t >::puid

persistent UID - system unique - could change with location

◆ puuid

template<typename id_t , typename preference_t = dx::preference>
std::string dx::device< id_t, preference_t >::puuid

persistent universal UID - universally unique ID (i.e. serial number)


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

(c) copyright 2009 dynamic acoustics e.U. generated on Tue Nov 25 2025

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.