dxd - dynax driver framework
cross platform open source driver development framework
dx::usb::stream::device< desc_t > Class Template Reference

#include <dx_stream_usb_device.h>

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

Classes

struct  property
 

Public Types

typedef ::io_service_t creator
 
enum  speed : unsigned char {
  low = ::kUSBDeviceSpeedLow , full = ::kUSBDeviceSpeedFull , high = ::kUSBDeviceSpeedHigh , super = ::kUSBDeviceSpeedSuper ,
  usb1 = full , usb2 = high , usb3 = super , low = ::UsbLowSpeed ,
  full = ::UsbFullSpeed , high = ::UsbHighSpeed , super = ::UsbSuperSpeed , usb1 =full ,
  usb2 =high , usb3 =super
}
 
enum class  speed : unsigned char {
  low = ::kUSBDeviceSpeedLow , full = ::kUSBDeviceSpeedFull , high = ::kUSBDeviceSpeedHigh , super = ::kUSBDeviceSpeedSuper ,
  usb1 = full , usb2 = high , usb3 = super , low = ::UsbLowSpeed ,
  full = ::UsbFullSpeed , high = ::UsbHighSpeed , super = ::UsbSuperSpeed , usb1 =full ,
  usb2 =high , usb3 =super
}
 

Public Member Functions

 catchall () virtual ~device() noexcept=default
 
 catchall () virtual ~device() noexcept=default
 
 catchall_rethrow () int iosize() const try
 
 catchall_rethrow () int iosize(unsigned int iosize) try
 
 catchall_rethrow () unsigned int isoc_cycle() const try
 
 catchall_rethrow () unsigned int rx() const try
 
 catchall_rethrow () unsigned int rx(unsigned int safety_offset) try
 
 catchall_rethrow () unsigned int tx() const try
 
 catchall_rethrow () unsigned int tx(unsigned int safety_offset) try
 
deviceclose () noexcept
 
virtual void conclude () noexcept
 conclude notification: device will be removed from tree More...
 
unsigned char configuration () const
 
unsigned char configuration () const
 
unsigned char configuration (unsigned char configuration)
 
unsigned char configuration (unsigned char configuration)
 
unsigned char configurations () const
 
unsigned char configurations () const
 
void ctl (unsigned int ioctl) const
 
void ctl (unsigned int ioctl) const
 
 device (const creator &creator)
 
preferenceerase (::CFStringRef key=nullptr)
 
preferenceerase (::CFStringRef key=nullptr)
 
registryerase (const char *key=nullptr)
 
virtual void exception (const dx::exception &exception) const noexcept try
 
virtual void exception (const dx::exception &exception) const noexcept try
 
uint64_t frame () const
 
uint64_t frame () const
 
::CFTypeRef get (::CFStringRef key) const
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t 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, ::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 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
 
template<typename rx_t >
rx_t ictl (unsigned int ioctl) const
 member ioctl More...
 
template<typename rx_t >
rx_t ictl (unsigned int ioctl) const
 Windows: member ioctl. More...
 
template<typename rx_t >
size_t ictl (unsigned int ioctl, rx_t &rx) const
 
template<typename rx_t >
size_t ictl (unsigned int ioctl, rx_t &rx) const
 
void initialize (const char *path, ::HKEY root, ::REGSAM rights=KEY_READ, const char *key=nullptr)
 
void initialize (const char *path, ::REGSAM rights=KEY_READ, ::HKEY root=HKEY_CURRENT_USER, const char *key=nullptr)
 
template<typename rx_t , typename tx_t >
rx_t ioctl (unsigned int ioctl, const tx_t &tx) const
 
template<typename rx_t , typename tx_t >
rx_t ioctl (unsigned int ioctl, const tx_t &tx) const
 
template<typename rx_t , typename tx_t >
size_t ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const
 
template<typename tx_t , typename rx_t >
size_t ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const
 
size_t ioctl (unsigned int ioctl, const void *tx=nullptr, size_t tx_size=0, void *rx=nullptr, size_t rx_size=0) const
 
int iosize (unsigned int iosize, dx::event< dx::kernel > &) try
 
virtual void launch ()
 launch notification: device mounted in tree and ready to use More...
 
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t * monitor ()
 
bool monitor () const noexcept
 
template<typename tx_t >
void octl (unsigned int ioctl, const tx_t &tx) const
 
template<typename tx_t >
void octl (unsigned int ioctl, const tx_t &tx) const
 
deviceopen ()
 opens the USB device for exclusice access More...
 
 operator const io_registry_entry_t & () const noexcept
 auto converter into const object More...
 
 operator const io_registry_entry_t & () const noexcept
 auto converter into const object More...
 
 operator io_registry_entry_t & () noexcept
 auto converter into object More...
 
 operator io_registry_entry_t & () noexcept
 auto converter into object More...
 
 operator io_registry_entry_t * () noexcept
 auto converter into object pointer More...
 
 operator io_registry_entry_t * () noexcept
 auto converter into object pointer More...
 
 operator std::string () const
 
 operator uint64_t () const
 
 operator uint64_t () const
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
 operator value_t () const
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
 operator value_t () const
 
template<typename value_t >
 operator value_t () const
 
::CFDictionaryRef operator() (::CFDictionaryRef dflt) const noexcept
 
::CFDictionaryRef operator() (::CFDictionaryRef dflt) const noexcept
 
::CFPropertyListRef operator() (::CFPropertyListRef dflt) const
 
::CFPropertyListRef operator() (::CFPropertyListRef dflt) const
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t operator() (value_t dflt) const
 
template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t operator() (value_t dflt) const
 
template<typename value_t >
value_t operator() (value_t dflt) const
 
::IOUSBDeviceInterface650 * operator-> () const
 
 operator::CFArrayRef () const noexcept
 
 operator::CFArrayRef () const noexcept
 
 operator::CFDictionaryRef () const noexcept
 
 operator::CFDictionaryRef () const noexcept
 
 operator::CFMutableDictionaryRef () const
 
 operator::CFMutableDictionaryRef () const
 
 operator::CFPropertyListRef () const
 
 operator::CFPropertyListRef () const
 
 operator::HANDLE () const noexcept
 
 operator::IOUSBDeviceInterface650 ** () const
 
bool operator== (::io_service_t io_service) const noexcept
 
bool operator== (io_registry_entry_t object) const noexcept
 
bool operator== (io_registry_entry_t object) const noexcept
 
::CFTypeRef operator[] (::CFStringRef key) const
 
::CFTypeRef operator[] (::CFStringRef key) const
 
preference operator[] (::CFStringRef key) const
 
preference operator[] (::CFStringRef key) const
 
registry operator[] (const char *key) const
 
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
::CFTypeRef operator[] (key_t key) const
 
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
::CFTypeRef operator[] (key_t key) const
 
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
preference operator[] (key_t key) const
 
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
preference operator[] (key_t key) const
 
devicereenumerate ()
 
devicereenumerate ()
 
devicereset ()
 
devicereset ()
 
virtual unsigned int samplerate () const
 
template<typename observer_t = unsigned int>
observer_t * samplerate () const
 
virtual unsigned int samplerate (unsigned int samplerate)
 
registryset (::CFStringRef key, ::CFTypeRef value)
 
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 value_t , typename = typename cf::enable_if_convertible<value_t>::type>
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. More...
 
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...
 
template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
registryset (key_t key, ::CFTypeRef 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)
 
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)
 
registrysignal ()
 
devicestart ()
 
devicestop ()
 
template<size_t size = 0x100>
std::string string (unsigned char idx) const
 
template<size_t size = 0x100>
std::string string (unsigned char idx, enum language language=language::standard) const
 
template<typename data_t >
data_t submit (const control &control) const
 
template<typename data_t >
data_t submit (const control &control) const
 
template<typename data_t >
devicesubmit (const request< data_t > &request) const
 
template<typename data_t >
devicesubmit (const request< data_t > &request) const
 
unsigned int version () const
 
registrywait (int64_t timeout=0, ::DWORD filter=REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_ATTRIBUTES|REG_NOTIFY_CHANGE_LAST_SET|REG_NOTIFY_CHANGE_SECURITY, bool subtree=true)
 

Public Attributes

std::deque< usb::interfaceinterface
 
dx::log log {}
 
cf::preference preference
 
enum dx::usb::device::speed speed
 

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 {}
 
io::port port
 

Member Typedef Documentation

◆ creator

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

Member Enumeration Documentation

◆ speed [1/2]

Todo:
enum class
Enumerator
low 
full 
high 
super 
usb1 
usb2 
usb3 
low 
full 
high 
super 
usb1 
usb2 
usb3 

◆ speed [2/2]

enum dx::usb::device::speed : unsigned char
stronginherited
Enumerator
low 
full 
high 
super 
usb1 
usb2 
usb3 
low 
full 
high 
super 
usb1 
usb2 
usb3 

Constructor & Destructor Documentation

◆ device()

template<typename desc_t >
dx::usb::stream::device< desc_t >::device ( const creator creator)
inline

Member Function Documentation

◆ catchall() [1/2]

dx::usb::device::catchall ( )
defaultnoexceptinherited

◆ catchall() [2/2]

dx::usb::device::catchall ( )
defaultnoexceptinherited

◆ catchall_rethrow() [1/7]

template<typename desc_t >
dx::usb::stream::device< desc_t >::catchall_rethrow ( ) const
inline

◆ catchall_rethrow() [2/7]

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

◆ catchall_rethrow() [3/7]

template<typename desc_t >
dx::usb::stream::device< desc_t >::catchall_rethrow ( ) const
inline

◆ catchall_rethrow() [4/7]

template<typename desc_t >
dx::usb::stream::device< desc_t >::catchall_rethrow ( ) const
inline

◆ catchall_rethrow() [5/7]

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

◆ catchall_rethrow() [6/7]

template<typename desc_t >
dx::usb::stream::device< desc_t >::catchall_rethrow ( ) const
inline

◆ catchall_rethrow() [7/7]

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

◆ close()

device& dx::usb::device::close ( )
inlinenoexceptinherited

◆ conclude()

virtual void dx::usb::device::conclude ( )
inlinevirtualnoexceptinherited

conclude notification: device will be removed from tree

Reimplemented from dx::device.

◆ configuration() [1/4]

unsigned char dx::usb::device::configuration ( ) const
inlineinherited
+ Here is the caller graph for this function:

◆ configuration() [2/4]

unsigned char dx::usb::device::configuration ( ) const
inlineinherited

◆ configuration() [3/4]

unsigned char dx::usb::device::configuration ( unsigned char  configuration)
inlineinherited
+ Here is the call graph for this function:

◆ configuration() [4/4]

unsigned char dx::usb::device::configuration ( unsigned char  configuration)
inlineinherited
+ Here is the call graph for this function:

◆ configurations() [1/2]

unsigned char dx::usb::device::configurations ( ) const
inlineinherited

◆ configurations() [2/2]

unsigned char dx::usb::device::configurations ( ) const
inlineinherited

◆ ctl() [1/2]

void dx::device::ctl ( unsigned int  ioctl) const
inlineinherited

◆ ctl() [2/2]

void dx::device::ctl ( unsigned int  ioctl) const
inlineinherited
+ Here is the call graph for this function:

◆ erase() [1/3]

preference& dx::cf::preference::erase ( ::CFStringRef  key = nullptr)
inlineinherited

◆ erase() [2/3]

preference& dx::cf::preference::erase ( ::CFStringRef  key = nullptr)
inlineinherited

◆ erase() [3/3]

registry& dx::registry::erase ( const char *  key = nullptr)
inlineinherited

◆ exception() [1/2]

virtual void dx::usb::device::exception ( const dx::exception exception) const
inlinevirtualnoexceptinherited
+ Here is the caller graph for this function:

◆ exception() [2/2]

virtual void dx::usb::device::exception ( const dx::exception exception) const
inlinevirtualnoexceptinherited

◆ frame() [1/2]

uint64_t dx::usb::device::frame ( ) const
inlineinherited
+ Here is the caller graph for this function:

◆ frame() [2/2]

uint64_t dx::usb::device::frame ( ) const
inlineinherited
+ Here is the call graph for this function:

◆ get() [1/8]

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

◆ get() [2/8]

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

◆ get() [3/8]

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

◆ get() [4/8]

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
+ Here is the call graph for this function:

◆ get() [5/8]

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
+ Here is the call graph for this function:

◆ get() [6/8]

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
+ Here is the call graph for this function:

◆ get() [7/8]

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

◆ get() [8/8]

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
+ Here is the call graph for this function:

◆ ictl() [1/4]

template<typename rx_t >
rx_t dx::device::ictl ( unsigned int  ioctl) const
inlineinherited

member ioctl

this member retreives data from the device by providing an IOCTL code. the template argument defines the type of data to be retreived. this member is intended as a convinient way to retreive only small amounts of data since there is an intermediate stack copy involved in returning the data.

+ Here is the caller graph for this function:

◆ ictl() [2/4]

template<typename rx_t >
rx_t dx::device::ictl ( unsigned int  ioctl) const
inlineinherited

Windows: member ioctl.

this member retreives data from the device by providing an IOCTL code. the template argument defines the type of data to be retreived. this member is intended as a convinient way to retreive only small amounts of data since there is an intermediate stack copy involved in returning the data.

the underlaying windows API is DeviceIoControl(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx

Exceptions
n/amicrosoft does not give information about what possible errors values are provided by its OS other than
ERROR_INSUFFICIENT_BUFFERif the output buffer is too small to receive any data
+ Here is the call graph for this function:

◆ ictl() [3/4]

template<typename rx_t >
size_t dx::device::ictl ( unsigned int  ioctl,
rx_t &  rx 
) const
inlineinherited

◆ ictl() [4/4]

template<typename rx_t >
size_t dx::device::ictl ( unsigned int  ioctl,
rx_t &  rx 
) const
inlineinherited
+ Here is the call graph for this function:

◆ initialize() [1/4]

void dx::cf::interface< ::IOUSBDeviceInterface650 >::initialize ( ::IOCFPlugInInterface **  cf_interface,
::CFUUIDRef  uuid 
)
inlineprotectedinherited

◆ initialize() [2/4]

void dx::registry::initialize ( const char *  path,
::HKEY  root,
::REGSAM  rights = KEY_READ,
const char *  key = nullptr 
)
inlineinherited
+ Here is the caller graph for this function:

◆ initialize() [3/4]

void dx::registry::initialize ( const char *  path,
::REGSAM  rights = KEY_READ,
::HKEY  root = HKEY_CURRENT_USER,
const char *  key = nullptr 
)
inlineinherited

◆ initialize() [4/4]

void dx::cf::interface< ::IOUSBDeviceInterface650 >::initialize ( io_object_t  io_object,
::CFUUIDRef  type,
::CFUUIDRef  uuid 
)
protectedinherited

◆ ioctl() [1/5]

template<typename rx_t , typename tx_t >
rx_t dx::device::ioctl ( unsigned int  ioctl,
const tx_t &  tx 
) const
inlineinherited

◆ ioctl() [2/5]

template<typename rx_t , typename tx_t >
rx_t dx::device::ioctl ( unsigned int  ioctl,
const tx_t &  tx 
) const
inlineinherited
+ Here is the call graph for this function:

◆ ioctl() [3/5]

template<typename rx_t , typename tx_t >
size_t dx::device::ioctl ( unsigned int  ioctl,
const tx_t &  tx,
rx_t &  rx 
) const
inlineinherited
+ Here is the caller graph for this function:

◆ ioctl() [4/5]

template<typename tx_t , typename rx_t >
size_t dx::device::ioctl ( unsigned int  ioctl,
const tx_t &  tx,
rx_t &  rx 
) const
inlineinherited
+ Here is the call graph for this function:

◆ ioctl() [5/5]

size_t dx::device::ioctl ( unsigned int  ioctl,
const void *  tx = nullptr,
size_t  tx_size = 0,
void *  rx = nullptr,
size_t  rx_size = 0 
) const
inlineinherited

◆ iosize()

template<typename desc_t >
int dx::usb::stream::device< desc_t >::iosize ( unsigned int  iosize,
dx::event< dx::kernel > &   
)
inline

◆ launch()

virtual void dx::usb::device::launch ( )
inlinevirtualinherited

launch notification: device mounted in tree and ready to use

Reimplemented from dx::device.

◆ monitor() [1/2]

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:

◆ monitor() [2/2]

template<typename desc_t >
bool dx::usb::stream::device< desc_t >::monitor ( ) const
inlinenoexcept

◆ octl() [1/2]

template<typename tx_t >
void dx::device::octl ( unsigned int  ioctl,
const tx_t &  tx 
) const
inlineinherited
+ Here is the caller graph for this function:

◆ octl() [2/2]

template<typename tx_t >
void dx::device::octl ( unsigned int  ioctl,
const tx_t &  tx 
) const
inlineinherited
+ Here is the call graph for this function:

◆ open()

device& dx::usb::device::open ( )
inlineinherited

opens the USB device for exclusice access

+ Here is the caller graph for this function:

◆ operator const io_registry_entry_t &() [1/2]

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

auto converter into const object

◆ operator const io_registry_entry_t &() [2/2]

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

auto converter into const object

◆ operator io_registry_entry_t &() [1/2]

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

auto converter into object

◆ operator io_registry_entry_t &() [2/2]

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

auto converter into object

◆ operator io_registry_entry_t *() [1/2]

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

auto converter into object pointer

◆ operator io_registry_entry_t *() [2/2]

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

auto converter into object pointer

◆ operator std::string()

dx::registry::operator std::string ( ) const
inlineinherited

◆ operator uint64_t() [1/2]

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

◆ operator uint64_t() [2/2]

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

◆ operator value_t() [1/3]

template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
dx::cf::preference::operator value_t ( ) const
inlineinherited

◆ operator value_t() [2/3]

template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
dx::cf::preference::operator value_t ( ) const
inlineinherited

◆ operator value_t() [3/3]

template<typename value_t >
dx::registry::operator value_t ( ) const
inlineinherited

◆ operator()() [1/7]

::CFDictionaryRef dx::cf::preference::operator() ( ::CFDictionaryRef  dflt) const
inlinenoexceptinherited

◆ operator()() [2/7]

::CFDictionaryRef dx::cf::preference::operator() ( ::CFDictionaryRef  dflt) const
inlinenoexceptinherited

◆ operator()() [3/7]

::CFPropertyListRef dx::cf::preference::operator() ( ::CFPropertyListRef  dflt) const
inlineinherited

◆ operator()() [4/7]

::CFPropertyListRef dx::cf::preference::operator() ( ::CFPropertyListRef  dflt) const
inlineinherited

◆ operator()() [5/7]

template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t dx::cf::preference::operator() ( value_t  dflt) const
inlineinherited

◆ operator()() [6/7]

template<typename value_t , typename = typename cf::enable_if_convertible<value_t>::type>
value_t dx::cf::preference::operator() ( value_t  dflt) const
inlineinherited

◆ operator()() [7/7]

template<typename value_t >
value_t dx::registry::operator() ( value_t  dflt) const
inlineinherited

◆ operator->()

::IOUSBDeviceInterface650 * dx::cf::interface< ::IOUSBDeviceInterface650 >::operator-> ( ) const
inlineinherited

◆ operator::CFArrayRef() [1/2]

dx::cf::preference::operator::CFArrayRef ( ) const
inlinenoexceptinherited

◆ operator::CFArrayRef() [2/2]

dx::cf::preference::operator::CFArrayRef ( ) const
inlinenoexceptinherited

◆ operator::CFDictionaryRef() [1/2]

dx::cf::preference::operator::CFDictionaryRef ( ) const
inlinenoexceptinherited

◆ operator::CFDictionaryRef() [2/2]

dx::cf::preference::operator::CFDictionaryRef ( ) const
inlinenoexceptinherited

◆ operator::CFMutableDictionaryRef() [1/2]

dx::io::registry::operator::CFMutableDictionaryRef ( ) const
inlineexplicitinherited

◆ operator::CFMutableDictionaryRef() [2/2]

dx::io::registry::operator::CFMutableDictionaryRef ( ) const
inlineexplicitinherited

◆ operator::CFPropertyListRef() [1/2]

dx::cf::preference::operator::CFPropertyListRef ( ) const
inlineinherited

◆ operator::CFPropertyListRef() [2/2]

dx::cf::preference::operator::CFPropertyListRef ( ) const
inlineinherited

◆ operator::HANDLE()

dx::device::operator::HANDLE ( ) const
inlinenoexceptinherited

◆ operator::IOUSBDeviceInterface650 **()

dx::cf::interface< ::IOUSBDeviceInterface650 >::operator ::IOUSBDeviceInterface650 ** ( ) const
inlineinherited

◆ operator==() [1/3]

bool dx::usb::device::operator== ( ::io_service_t  io_service) const
inlinenoexceptinherited

◆ operator==() [2/3]

bool dx::io::reference< io_registry_entry_t >::operator== ( object_t  object) const
inlinenoexceptinherited

◆ operator==() [3/3]

bool dx::io::reference< io_registry_entry_t >::operator== ( object_t  object) const
inlinenoexceptinherited

◆ operator[]() [1/9]

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

◆ operator[]() [2/9]

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

◆ operator[]() [3/9]

preference dx::cf::preference::operator[] ( ::CFStringRef  key) const
inlineinherited

◆ operator[]() [4/9]

preference dx::cf::preference::operator[] ( ::CFStringRef  key) const
inlineinherited

◆ operator[]() [5/9]

registry dx::registry::operator[] ( const char *  key) const
inlineinherited
+ Here is the call graph for this function:

◆ operator[]() [6/9]

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

◆ operator[]() [7/9]

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

◆ operator[]() [8/9]

template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
preference dx::cf::preference::operator[] ( key_t  key) const
inlineinherited

◆ operator[]() [9/9]

template<typename key_t , typename = typename cf::enable_if_convertible<key_t>::type>
preference dx::cf::preference::operator[] ( key_t  key) const
inlineinherited

◆ reenumerate() [1/2]

device& dx::usb::device::reenumerate ( )
inlineinherited
+ Here is the call graph for this function:

◆ reenumerate() [2/2]

device& dx::usb::device::reenumerate ( )
inlineinherited

◆ reset() [1/2]

device& dx::usb::device::reset ( )
inlineinherited
+ Here is the call graph for this function:

◆ reset() [2/2]

device& dx::usb::device::reset ( )
inlineinherited

◆ samplerate() [1/3]

template<typename desc_t >
virtual unsigned int dx::usb::stream::device< desc_t >::samplerate ( ) const
inlinevirtual
Todo:
iterate over valid clock domain bitmap; match isoc endpoints only

◆ samplerate() [2/3]

template<typename desc_t >
template<typename observer_t = unsigned int>
observer_t* dx::usb::stream::device< desc_t >::samplerate ( ) const
inline

◆ samplerate() [3/3]

template<typename desc_t >
virtual unsigned int dx::usb::stream::device< desc_t >::samplerate ( unsigned int  samplerate)
inlinevirtual
Todo:
iterate over valid clock domain bitmap; match isoc endpoints only

◆ set() [1/10]

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

◆ set() [2/10]

registry& dx::device::set ( ::CFStringRef  key,
::CFTypeRef  value 
)
inlinenoexceptinherited

◆ set() [3/10]

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

◆ set() [4/10]

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:

◆ set() [5/10]

registry& dx::device::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() [6/10]

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:

◆ set() [7/10]

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

◆ set() [8/10]

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:

◆ set() [9/10]

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::device::set ( key_t  key,
value_t  value 
)
inlineinherited

◆ set() [10/10]

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:

◆ signal()

registry& dx::registry::signal ( )
inlineinherited
+ Here is the caller graph for this function:

◆ start()

template<typename desc_t >
device& dx::usb::stream::device< desc_t >::start ( )
inline

◆ stop()

template<typename desc_t >
device& dx::usb::stream::device< desc_t >::stop ( )
inline

◆ string() [1/2]

template<size_t size = 0x100>
std::string dx::usb::device::string ( unsigned char  idx) const
inlineinherited
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ string() [2/2]

template<size_t size = 0x100>
std::string dx::usb::device::string ( unsigned char  idx,
enum language  language = language::standard 
) const
inlineinherited
+ Here is the call graph for this function:

◆ submit() [1/4]

template<typename data_t >
data_t dx::usb::device::submit ( const control control) const
inlineinherited

◆ submit() [2/4]

template<typename data_t >
data_t dx::usb::device::submit ( const control control) const
inlineinherited

◆ submit() [3/4]

template<typename data_t >
device& dx::usb::device::submit ( const request< data_t > &  request) const
inlineinherited
+ Here is the caller graph for this function:

◆ submit() [4/4]

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

◆ version()

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

◆ wait()

registry& dx::registry::wait ( int64_t  timeout = 0,
::DWORD  filter = REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_ATTRIBUTES|REG_NOTIFY_CHANGE_LAST_SET|REG_NOTIFY_CHANGE_SECURITY,
bool  subtree = true 
)
inlineinherited

Member Data Documentation

◆ bundle_id

cf::type<const char*> dx::usb::device::bundle_id
inherited

◆ class_name

cf::type<const char*> dx::usb::device::class_name
inherited

◆ interface

std::deque< usb::interface > dx::usb::device::interface
inherited

◆ 

struct { ... } dx::usb::device::kernel

◆ log

dx::log dx::usb::device::log {}
inherited

◆ opened

std::atomic< int > dx::usb::device::opened {}
protectedinherited

◆ port

io::port dx::device::port
protectedinherited

◆ preference

cf::preference dx::usb::device::preference
inherited

◆ speed


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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Jun 18 2021

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.