dxd - dynax driver framework 2.6.0d201
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::asio::service::device< super_device_t > Class Template Reference

#include <dx_asio_service_device.h>

+ Inheritance diagram for dx::asio::service::device< super_device_t >:
+ Collaboration diagram for dx::asio::service::device< super_device_t >:

Public Member Functions

void conclude () noexcept override
 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.
 
auto count () const noexcept
 
void exception (const dx::exception &exception, bool filtered=false) const noexcept override
 notification exception handler
 
::CFTypeRef get (::CFStringRef key) const
 
template<typename value_t , typename = cf::enable_if_convertible<value_t>>
value_t get (::CFStringRef key) const
 
::CFTypeRef get (::CFStringRef key, ::CFTypeRef dflt) const noexcept
 
template<typename value_t , typename = cf::enable_if_convertible<value_t>>
value_t get (::CFStringRef key, ::CFTypeRef dflt) const noexcept
 
template<typename value_t , typename = cf::enable_if_convertible<value_t>>
value_t get (::CFStringRef key, value_t dflt) const noexcept
 
template<typename key_t , typename = cf::enable_if_convertible<key_t>>
::CFTypeRef get (key_t key) const
 
template<typename key_t , typename value_t , typename = cf::enable_if_convertible<key_t>, typename = cf::enable_if_convertible<value_t>>
value_t get (key_t key) const
 
void info (std::ostream &os) noexcept override try
 log object class information
 
void launch () override
 launch notification: object mounted and ready to use
 
 operator const ::io_registry_entry_t & () const noexcept
 auto converter into const io_object
 
 operator uint64_t () const
 
 operator::CFMutableDictionaryRef () const
 
 operator::CFStringRef () const
 
 operator::io_registry_entry_t & () noexcept
 auto converter into io_object
 
 operator::io_registry_entry_t * () noexcept
 auto converter into io_object pointer
 
bool operator== (::io_registry_entry_t io_object) const noexcept
 
virtual deviceoperator>> (std::ostream &) const
 
::CFTypeRef operator[] (::CFStringRef key) const
 
template<typename key_t , typename = cf::enable_if_convertible<key_t>>
::CFTypeRef operator[] (key_t key) const
 
registry parent () const
 
referenceretain ()
 
registryset (::CFStringRef key, ::CFTypeRef value)
 
template<typename value_t , typename = cf::enable_if_convertible<value_t>>
registryset (::CFStringRef key, value_t value)
 
registryset (::CFTypeRef properties)
 Setting properties in a registry entry is not generally supported, it is more common to support setting of properties of the connection based property setting of dx::device.
 
template<typename key_t , typename = cf::enable_if_convertible<key_t>>
registryset (key_t key, ::CFTypeRef value)
 
template<typename key_t , typename value_t , typename = cf::enable_if_convertible<key_t>, typename = cf::enable_if_convertible<value_t>>
registryset (key_t key, value_t value)
 
virtual void sleep ()
 notify system will sleep stub
 
virtual void wake ()
 notify system wake completed stub
 

Public Attributes

cf::string bundle_id
 
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)
 

Protected Types

typedef service::request< service::stream::data< typename super_device_t::desc_t > > request
 

Protected Attributes

registry asio
 
dx::service::device::chain clocksource
 
registry clsid
 
std::string dll
 
std::string guid
 
dx::service::device::chain iosize
 
struct { 
 
   cf::string   bundle_id 
 
   cf::string   class_name 
 
kernel 
 
pipe< request >::server pipe
 
dx::service::device::chain pipe
 
dx::shared::memory< typename super_device_t::desc_t > publish {this->id, this->driver.version, *this}
 
dx::service::device::chain safety_offset [dx::stream::direction::out]
 
dx::service::device::chain safety_offset_in [dx::stream::direction::in]
 
dx::service::device::chain safety_offset_out [dx::stream::direction::out]
 
dx::service::device::chain samplerate
 

Member Typedef Documentation

◆ request

typedef service::request<service::stream::data<typename super_device_t::desc_t> > dx::service::device< super_device_t >::request
protectedinherited

Member Function Documentation

◆ conclude()

template<typename super_device_t >
void dx::asio::service::device< super_device_t >::conclude ( )
inlineoverridevirtualnoexcept

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 from dx::service::device< super_device_t >.

+ Here is the call graph for this function:

◆ count()

auto io::reference< ::io_registry_entry_t >::count ( ) const
inlinenoexceptinherited

◆ 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 ) const
inlineoverridevirtualnoexceptinherited

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<>, dx::proxy::device< preference_t >, and dx::service::client::_device< desc_t, preference_t, stream_t >.

+ Here is the call graph for this function:

◆ get() [1/7]

::CFTypeRef io::registry::get ( ::CFStringRef key) const
inlineinherited
+ Here is the caller graph for this function:

◆ get() [2/7]

template<typename value_t , typename = cf::enable_if_convertible<value_t>>
value_t io::registry::get ( ::CFStringRef key) const
inlineinherited
+ Here is the call graph for this function:

◆ get() [3/7]

::CFTypeRef io::registry::get ( ::CFStringRef key,
::CFTypeRef dflt ) const
inlinenoexceptinherited

◆ get() [4/7]

template<typename value_t , typename = cf::enable_if_convertible<value_t>>
value_t io::registry::get ( ::CFStringRef key,
::CFTypeRef dflt ) const
inlinenoexceptinherited
+ Here is the call graph for this function:

◆ get() [5/7]

template<typename value_t , typename = cf::enable_if_convertible<value_t>>
value_t io::registry::get ( ::CFStringRef key,
value_t dflt ) const
inlinenoexceptinherited
+ Here is the call graph for this function:

◆ get() [6/7]

template<typename key_t , typename = cf::enable_if_convertible<key_t>>
::CFTypeRef io::registry::get ( key_t key) const
inlineinherited
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get() [7/7]

template<typename key_t , typename value_t , typename = cf::enable_if_convertible<key_t>, typename = cf::enable_if_convertible<value_t>>
value_t io::registry::get ( key_t key) const
inlineinherited
+ Here is the call graph for this function:

◆ info()

template<typename super_device_t >
void dx::asio::service::device< super_device_t >::info ( std::ostream & os)
inlineoverridevirtualnoexcept

log object class information

Reimplemented from dx::service::device< super_device_t >.

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

◆ launch()

template<typename super_device_t >
void dx::asio::service::device< super_device_t >::launch ( )
inlineoverridevirtual

launch notification: object mounted and ready to use

Reimplemented from dx::service::device< super_device_t >.

+ Here is the call graph for this function:

◆ operator const ::io_registry_entry_t &()

io::reference< ::io_registry_entry_t >::operator const ::io_registry_entry_t & ( ) const
inlinenoexceptinherited

auto converter into const io_object

◆ operator uint64_t()

io::registry::operator uint64_t ( ) const
inlineexplicitinherited

◆ operator::CFMutableDictionaryRef()

io::registry::operator::CFMutableDictionaryRef ( ) const
inlineexplicitinherited
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator::CFStringRef()

io::registry::operator::CFStringRef ( ) const
inlineexplicitinherited

◆ operator::io_registry_entry_t &()

io::reference< ::io_registry_entry_t >::operator ::io_registry_entry_t & ( )
inlinenoexceptinherited

auto converter into io_object

◆ operator::io_registry_entry_t *()

io::reference< ::io_registry_entry_t >::operator ::io_registry_entry_t * ( )
inlinenoexceptinherited

auto converter into io_object pointer

◆ operator==()

bool io::reference< ::io_registry_entry_t >::operator== ( ::io_registry_entry_t io_object) const
inlinenoexceptinherited

◆ operator>>()

template<typename id_t , typename preference_t = dx::preference>
virtual device & dx::device< id_t, preference_t >::operator>> ( std::ostream & ) const
inlinevirtualinherited

◆ operator[]() [1/2]

::CFTypeRef io::registry::operator[] ( ::CFStringRef key) const
inlineinherited
+ Here is the call graph for this function:

◆ operator[]() [2/2]

template<typename key_t , typename = cf::enable_if_convertible<key_t>>
::CFTypeRef io::registry::operator[] ( key_t key) const
inlineinherited
+ Here is the call graph for this function:

◆ parent()

registry io::registry::parent ( ) const
inlineinherited
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ retain()

reference & io::reference< ::io_registry_entry_t >::retain ( )
inlineinherited

◆ set() [1/5]

registry & io::registry::set ( ::CFStringRef key,
::CFTypeRef value )
inlineinherited

◆ set() [2/5]

template<typename value_t , typename = cf::enable_if_convertible<value_t>>
registry & io::registry::set ( ::CFStringRef key,
value_t value )
inlineinherited
+ Here is the call graph for this function:

◆ set() [3/5]

registry & io::registry::set ( ::CFTypeRef properties)
inlineinherited

Setting properties in a registry entry is not generally supported, it is more common to support setting of properties of the connection based property setting of dx::device.

+ Here is the caller graph for this function:

◆ set() [4/5]

template<typename key_t , typename = cf::enable_if_convertible<key_t>>
registry & io::registry::set ( key_t key,
::CFTypeRef value )
inlineinherited
+ Here is the call graph for this function:

◆ set() [5/5]

template<typename key_t , typename value_t , typename = cf::enable_if_convertible<key_t>, typename = cf::enable_if_convertible<value_t>>
registry & io::registry::set ( key_t key,
value_t value )
inlineinherited
+ Here is the call graph for this function:

◆ sleep()

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

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 ( )
inlinevirtualinherited

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, dx::preference > >, desc, dx::stream::stream< device< desc, dx::preference, dx::stream::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

◆ asio

template<typename super_device_t >
registry dx::asio::service::device< super_device_t >::asio
protected

◆ bundle_id

cf::string dx::service::device< super_device_t >::bundle_id
inherited

◆ clocksource

dx::service::device::chain dx::service::device< super_device_t >::clocksource
protectedinherited

◆ clsid

template<typename super_device_t >
registry dx::asio::service::device< super_device_t >::clsid
protected

◆ dll

template<typename super_device_t >
std::string dx::asio::service::device< super_device_t >::dll
protected

◆ driver

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

◆ guid

template<typename super_device_t >
std::string dx::asio::service::device< super_device_t >::guid
protected

◆ id

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

◆ iosize

dx::service::device::chain dx::service::device< super_device_t >::iosize
protectedinherited

◆ [struct]

struct { ... } dx::service::device< super_device_t >::kernel

◆ launched

bool dx::object::launched {}
inherited

◆ pipe [1/2]

dx::service::device::chain dx::service::device< super_device_t >::pipe
protectedinherited

◆ pipe [2/2]

dx::service::device::chain dx::service::device< super_device_t >::pipe[dx::stream::direction::out]
protectedinherited

◆ preference

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

◆ publish

template<typename super_device_t >
dx::shared::memory<typename super_device_t::desc_t> dx::asio::service::device< super_device_t >::publish {this->id, this->driver.version, *this}
protected

◆ puid

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

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
inherited

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

◆ safety_offset

dx::service::device::chain dx::service::device< super_device_t >::safety_offset
protectedinherited

◆ safety_offset_in

dx::service::device::chain dx::service::device< super_device_t >::safety_offset_in[dx::stream::direction::in]
protectedinherited

◆ safety_offset_out

dx::service::device::chain dx::service::device< super_device_t >::safety_offset_out[dx::stream::direction::out]
protectedinherited

◆ samplerate

dx::service::device::chain dx::service::device< super_device_t >::samplerate
protectedinherited

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

(c) copyright 2009 dynamic acoustics e.U. generated on Wed Mar 11 2026

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.