dxd - dynax driver framework  2979
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dx::usb::stream::device< desc_t > Class Template Reference

#include <dx_usb_device.h>

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

Public Types

typedef ::io_service_t creator
 

Public Member Functions

 catchall () virtual ~device() noexcept=default
 
 catchall_rethrow () int iosize(unsigned int iosize) try
 
 catchall_rethrow () int iosize() const try
 
 catchall_rethrow () unsigned int rx(unsigned int safety_offset) try
 
 catchall_rethrow () unsigned int rx() try
 
 catchall_rethrow () unsigned int tx(unsigned int safety_offset) try
 
 catchall_rethrow () unsigned int tx() try
 
 device (::io_service_t io_service)
 
virtual void exception (const dx::exception &exception) const noexcept try
 
uint64_t frame () const
 
::CFTypeRef get (::CFStringRef key) const
 
::CFTypeRef get (::CFStringRef key,::CFTypeRef dflt) const noexcept
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t get (::CFStringRef key) const
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t get (::CFStringRef key,::CFTypeRef dflt) const noexcept
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t get (::CFStringRef key, value_t dflt) const noexcept
 
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
::CFTypeRef get (key_t key) const
 
template<typename key_t , typename value_t , typename = typename cf::enable_if_convertible<key_t>::type, typename = typename cf::enable_if_convertible<value_t>::type>
value_t get (key_t key) const
 
int iosize (unsigned int iosize, event< dx::user > &) try
 
bool monitor () noexcept
 
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t * monitor ()
 
 operator const io_registry_entry_t & () const
 auto converter into const object More...
 
 operator io_registry_entry_t & ()
 auto converter into object More...
 
 operator uint64_t () const
 
::IOUSBDeviceInterface650 * operator-> () const
 
 operator::CFMutableDictionaryRef () const
 
 operator::IOUSBDeviceInterface650 ** () const
 
bool operator== (io_registry_entry_tobject) const noexcept
 
::CFTypeRef operator[] (::CFStringRef key) const
 
template<typename key_t , typename = typename std::enable_if<std::is_pod<key_t>::value>>
::CFTypeRef operator[] (key_t key) const
 
devicereenumerate ()
 
devicereset ()
 
unsigned int samplerate (unsigned int samplerate)
 
unsigned int samplerate () const
 
template<typename observer_t = unsigned int>
observer_t * samplerate () const
 
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. More...
 
registryset (::CFStringRef key,::CFTypeRef value) noexcept
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
registryset (::CFStringRef key, value_t value)
 
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
registryset (key_t key,::CFTypeRef value)
 
template<typename key_t , typename value_t , typename = typename cf::enable_if_convertible<key_t>::type, typename = typename cf::enable_if_convertible<value_t>::type>
registryset (key_t key, value_t value)
 
devicestart ()
 
devicestop ()
 
template<size_t size = 0x100>
std::string string (unsigned char idx) const
 
template<typename data_t >
void submit (const request< data_t > &request) const
 
template<typename data_t >
data_t submit (const control &control) const
 
unsigned int version () const
 

Public Attributes

std::deque< usb::interfaceinterface
 

Protected Member Functions

void initialize (::IOCFPlugInInterface **cf_interface,::CFUUIDRef uuid)
 
void initialize (io_object_t io_object,::CFUUIDRef type,::CFUUIDRef uuid)
 

Protected Attributes

struct {
   cf::type< const char * >   bundle_id
 
   cf::type< const char * >   class_name
 
kernel
 
std::atomic< int > opened {}
 
cf::preference preference {CFSTR(DX_STRINGIFY(DX_PRODUCT_URID))}
 

Member Typedef Documentation

typedef ::io_service_t dx::usb::device::creator
inherited

Constructor & Destructor Documentation

template<typename desc_t>
dx::usb::stream::device< desc_t >::device ( ::io_service_t  io_service)
inline

Member Function Documentation

dx::usb::device::catchall ( )
defaultnoexceptinherited
template<typename desc_t>
dx::usb::stream::device< desc_t >::catchall_rethrow ( )
inline
template<typename desc_t>
dx::usb::stream::device< desc_t >::catchall_rethrow ( ) const
inline
template<typename desc_t>
dx::usb::stream::device< desc_t >::catchall_rethrow ( )
inline
template<typename desc_t>
dx::usb::stream::device< desc_t >::catchall_rethrow ( )
inline
template<typename desc_t>
dx::usb::stream::device< desc_t >::catchall_rethrow ( )
inline
template<typename desc_t>
dx::usb::stream::device< desc_t >::catchall_rethrow ( )
inline
virtual void dx::usb::device::exception ( const dx::exception exception) const
inlinevirtualnoexceptinherited
uint64_t dx::usb::device::frame ( ) const
inlineinherited

+ Here is the caller graph for this function:

::CFTypeRef dx::io::registry::get ( ::CFStringRef  key) const
inlineinherited
::CFTypeRef dx::io::registry::get ( ::CFStringRef  key,
::CFTypeRef  dflt 
) const
inlinenoexceptinherited
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t dx::io::registry::get ( ::CFStringRef  key) const
inlineinherited
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t dx::io::registry::get ( ::CFStringRef  key,
::CFTypeRef  dflt 
) const
inlinenoexceptinherited
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t dx::io::registry::get ( ::CFStringRef  key,
value_t  dflt 
) const
inlinenoexceptinherited
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
::CFTypeRef dx::io::registry::get ( key_t  key) const
inlineinherited
template<typename key_t , typename value_t , typename = typename cf::enable_if_convertible<key_t>::type, typename = typename cf::enable_if_convertible<value_t>::type>
value_t dx::io::registry::get ( key_t  key) const
inlineinherited
void dx::cf::interface< ::IOUSBDeviceInterface650 >::initialize ( ::IOCFPlugInInterface **  cf_interface,
::CFUUIDRef  uuid 
)
inlineprotectedinherited
void dx::cf::interface< ::IOUSBDeviceInterface650 >::initialize ( io_object_t  io_object,
::CFUUIDRef  type,
::CFUUIDRef  uuid 
)
protectedinherited
template<typename desc_t>
int dx::usb::stream::device< desc_t >::iosize ( unsigned int  iosize,
event< dx::user > &   
)
inline

+ Here is the call graph for this function:

template<typename desc_t>
bool dx::usb::stream::device< desc_t >::monitor ( )
inlinenoexcept
template<typename desc_t>
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t* dx::usb::stream::device< desc_t >::monitor ( )
inline

+ Here is the call graph for this function:

dx::io::reference< io_registry_entry_t >::operator const io_registry_entry_t & ( ) const
inlineinherited

auto converter into const object

dx::io::reference< io_registry_entry_t >::operator io_registry_entry_t & ( )
inlineinherited

auto converter into object

dx::io::registry::operator uint64_t ( ) const
inlineinherited
::IOUSBDeviceInterface650 * dx::cf::interface< ::IOUSBDeviceInterface650 >::operator-> ( ) const
inlineinherited
dx::io::registry::operator::CFMutableDictionaryRef ( ) const
inlineinherited
dx::cf::interface< ::IOUSBDeviceInterface650 >::operator ::IOUSBDeviceInterface650 ** ( ) const
inlineinherited
bool dx::io::reference< io_registry_entry_t >::operator== ( io_registry_entry_t  object) const
inlinenoexceptinherited
::CFTypeRef dx::io::registry::operator[] ( ::CFStringRef  key) const
inlineinherited
template<typename key_t , typename = typename std::enable_if<std::is_pod<key_t>::value>>
::CFTypeRef dx::io::registry::operator[] ( key_t  key) const
inlineinherited
device& dx::usb::device::reenumerate ( )
inlineinherited
device& dx::usb::device::reset ( )
inlineinherited
template<typename desc_t>
unsigned int dx::usb::stream::device< desc_t >::samplerate ( unsigned int  samplerate)
inline
Todo:
iterate over valid clock domain bitmap; match isoc endpoints only

+ Here is the call graph for this function:

template<typename desc_t>
unsigned int dx::usb::stream::device< desc_t >::samplerate ( ) const
inline
Todo:
iterate over valid clock domain bitmap; match isoc endpoints only
template<typename desc_t>
template<typename observer_t = unsigned int>
observer_t* dx::usb::stream::device< desc_t >::samplerate ( ) const
inline
registry& dx::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:

registry& dx::io::registry::set ( ::CFStringRef  key,
::CFTypeRef  value 
)
inlinenoexceptinherited
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
registry& dx::io::registry::set ( ::CFStringRef  key,
value_t  value 
)
inlineinherited

+ Here is the call graph for this function:

template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
registry& dx::io::registry::set ( key_t  key,
::CFTypeRef  value 
)
inlineinherited

+ Here is the call graph for this function:

template<typename key_t , typename value_t , typename = typename cf::enable_if_convertible<key_t>::type, typename = typename cf::enable_if_convertible<value_t>::type>
registry& dx::io::registry::set ( key_t  key,
value_t  value 
)
inlineinherited

+ Here is the call graph for this function:

template<typename desc_t>
device& dx::usb::stream::device< desc_t >::start ( )
inline
template<typename desc_t>
device& dx::usb::stream::device< desc_t >::stop ( )
inline
template<size_t size = 0x100>
std::string dx::usb::device::string ( unsigned char  idx) const
inlineinherited

+ Here is the call graph for this function:

template<typename data_t >
void dx::usb::device::submit ( const request< data_t > &  request) const
inlineinherited

+ Here is the caller graph for this function:

template<typename data_t >
data_t dx::usb::device::submit ( const control control) const
inlineinherited
template<typename desc_t>
unsigned int dx::usb::stream::device< desc_t >::version ( ) const
inline

Member Data Documentation

cf::type<const char*> dx::usb::device::bundle_id
inherited
cf::type<const char*> dx::usb::device::class_name
inherited
std::deque<usb::interface> dx::usb::device::interface
inherited
struct { ... } dx::usb::device::kernel
std::atomic<int> dx::usb::device::opened {}
protectedinherited
template<typename desc_t>
cf::preference dx::usb::stream::device< desc_t >::preference {CFSTR(DX_STRINGIFY(DX_PRODUCT_URID))}
protected

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Nov 8 2019

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.