dxd - dynax driver framework 2.6.0d204
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::usb::stream::device< desc_t, preference_t, stream_t > Class Template Reference

#include <dx_usb_stream_device.h>

Inheritance diagram for dx::usb::stream::device< desc_t, preference_t, stream_t >:
Collaboration diagram for dx::usb::stream::device< desc_t, preference_t, stream_t >:

Public Types

typedef desc_t desc_t
typedef pipe< device< desc_t, dx::preference, pipe > > stream_t

Public Member Functions

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
deviceclose (bool force=false) noexcept
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.
void conclude () noexcept override
 conclude notifacation: device will be removed from tree
virtual uint8_t configuration (uint8_t configuration)
uint8_t configurations () const
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void configure ()
auto count () const noexcept
auto count () const noexcept
void ctl (uint32_t ioctl) const try
 dx_catchall_handler (this,) void conclude() noexcept override
 dx_catchall_rethrow (, "name: %s, access rights: %x, sharing options:%x", name, access, share)
 dx_pass (::IOConnectCallStructMethod(io_connect, ioctl, nullptr, 0, &rx, &size), "%s rx:%p size:%d", fourchar::to::string(ioctl).c_str(), &rx, size)
uint64_t frame () const try
value_t get (::CFStringRef key) const
::CFTypeRef get (::CFStringRef key) const
value_t get (::CFStringRef key, ::CFTypeRef dflt) const noexcept
::CFTypeRef get (::CFStringRef key, ::CFTypeRef dflt) const noexcept
value_t get (::CFStringRef key, value_t dflt) const noexcept
value_t get (::CFStringRef key, value_t dflt) const noexcept
value_t get (key_t key) const
::CFTypeRef get (key_t key) const
virtual bool hw_clock () const noexcept
virtual void hw_clock (abstract::event *hw_clock)
rx_t ictl (unsigned int ioctl) const
 Windows: member ioctl.
DX_PRAGMA_IGNORE_RETURN_VALUE_END void info (std::ostream &os) noexcept override
void initialize (const char *name, ::DWORD access=GENERIC_READ|GENERIC_WRITE, ::DWORD share=FILE_SHARE_READ|FILE_SHARE_WRITE) try
 (re-)initialization the underlaying windows API is CreateFile(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx
size_t ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const
void launch () override try
void octl (unsigned int ioctl, const tx_t &tx) const
deviceopen ()
 opens the USB device for exclusice access
 operator const ::io_registry_entry_t & () const noexcept
 auto converter into const io_object
 operator const ::io_registry_entry_t & () const noexcept
 auto converter into const io_object
 operator uint64_t () const
 operator uint64_t () const
::IOUSBDeviceInterface650 * operator-> () const
 operator::CFMutableDictionaryRef () const
 operator::CFMutableDictionaryRef () const
 operator::CFStringRef () 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
 operator::io_registry_entry_t * () noexcept
 auto converter into io_object pointer
 operator::io_registry_entry_t * () noexcept
 auto converter into io_object pointer
 operator::IOUSBDeviceInterface650 ** () const
bool operator== (::io_registry_entry_t io_object) const noexcept
bool operator== (::io_registry_entry_t io_object) const noexcept
virtual deviceoperator>> (std::ostream &) const
virtual deviceoperator>> (std::ostream &) const
::CFTypeRef operator[] (::CFStringRef key) const
::CFTypeRef operator[] (::CFStringRef key) const
::CFTypeRef operator[] (key_t key) const
::CFTypeRef operator[] (key_t key) const
registry parent () const
registry parent () const
devicereenumerate ()
referenceretain ()
referenceretain ()
registryset (::CFStringRef key, ::CFTypeRef value)
registryset (::CFStringRef key, ::CFTypeRef value)
registryset (::CFStringRef key, value_t value)
registryset (::CFStringRef key, value_t value)
deviceset (::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.
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.
registryset (key_t key, ::CFTypeRef value)
registryset (key_t key, ::CFTypeRef value)
registryset (key_t key, value_t value)
registryset (key_t key, value_t value)
virtual void sleep ()
 notify system will sleep stub
virtual void sleep ()
 notify system will sleep stub
virtual bool start (uint64_t=0, unsigned int starting=1)
virtual unsigned int stop (bool force=false) noexcept
devicesubmit (const request< data_t > &request, bool autoclear=true) const try
void wake () override

Public Attributes

union { 
   struct { 
      struct { 
         struct { 
            uint8_t   id 
         }   selector
         struct { 
            uint8_t   id 
         }   source
      }   clock
   }   v2
adc
uint16_t bcdADC
cf::string bundle_id
struct { 
   struct { 
      uint8_t   id 
   }   selector
   struct { 
      uint8_t   id 
   }   source
clock
promoted< uint32_t >::preference< decltype(dx::stream::control< usb::device< dx::preference > >::preference)> clocksource
bool composite
 indicate WinUSB matched against single interface of composit device;
std::atomic< size_t > counter
dx::driver< decltype(id), dx::preference > & driver
dx::driver< decltype(id), dx::preference > & driver
dx::driver< decltype(id), dx::preference > & driver
::WINUSB_INTERFACE_HANDLE handle
struct { 
   abstract::event *   clock 
   std::atomic< size_t >   counter 
   uint32_t   iosize 
hw
promoted< std::string >::preference< decltype(dx::stream::control< usb::device< dx::preference > >::preference)> icon
uint8_t id
std::weak_ptr< dx::circularimplicit_feedback
promoted< uint32_t >::preference< decltype(dx::stream::control< usb::device< dx::preference > >::preference)> iosize
uint32_t iosize
bool launched
bool launched
bool launched
dx::stream::device::monitor monitor
std::deque< std::function< void(control &)> > notify
dx::preference preference
dx::preference preference
dx::preference preference
std::string puid
 persistent UID - system unique - could change with location
std::string puid
 persistent UID (i.e. serial number) - system unique - if no other option to identify could change with location
std::string puuid
 persistent universal UID - universally unique ID (i.e. serial number)
std::string puuid
 persistent universal UID - universally unique ID
promoted< uint32_t >::preference< decltype(dx::stream::control< usb::device< dx::preference > >::preference)> safety_offset [direction::directions]
promoted< uint32_t >::preference< decltype(dx::stream::control< usb::device< dx::preference > >::preference)> samplerate
struct { 
   uint8_t   id 
selector
return size
struct { 
   uint8_t   id 
source
enum speed speed
std::atomic< unsigned int > started
std::map< decltype(desc_t::stream::target.idx()), std::weak_ptr< pipe< device< desc_t, dx::preference, pipe > > > > streams
promoted< uint32_t >::preference< decltype(dx::stream::control< usb::device< dx::preference > >::preference)> sync_cycle_ticks
promoted< structdesc_t::stream * >::template preference< decltype(dx::stream::control< usb::device< dx::preference > >::preference), uint32_tsync_reference
rx_t &rx const try
struct { 
   struct { 
      struct { 
         uint8_t   id 
      }   selector
      struct { 
         uint8_t   id 
      }   source
   }   clock
v2
dx::stream::device::monitor version

Protected Types

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

Protected Member Functions

iterator begin () const
iterator end () const
registryerase (const char *subkey=nullptr) noexcept
virtual void flush ()
virtual void halt ()
void initialize (::IOCFPlugInInterface **cf_interface, ::CFUUIDRef uuid)
registryinitialize (const std::string &key, ::HKEY root=HKEY_CURRENT_USER, ::REGSAM rights=KEY_ALL_ACCESS) try
registryinitialize (const std::string &key, ::REGSAM rights, ::HKEY root, const char *path=nullptr) try
std::string key_from_index (size_t index) const try
dx_catchall_rethrow() registry &initializeoperator keys () const noexcept
registryrun ()

Protected Attributes

bool connected
struct { 
   cf::string   bundle_id 
   cf::string   class_name 
kernel
dx_catchall_rethrow() public std::deque< std::function< void()> > listen
std::atomic< int > opened
pipe< request >::server pipe
io::port port
dx::service::device::chain safety_offset_in [dx::stream::direction::in]
dx::service::device::chain safety_offset_out [dx::stream::direction::out]
decltype(super::samplerate) ::chain samplerate_server
bool schedule_erase
std::recursive_mutex start_stop_in_progress
 start/stop operation in progress
struct { 
   ::WINUSB_INTERFACE_HANDLE   handle 
winusb

Member Typedef Documentation

◆ desc_t

typedef desc_t dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::desc_t
inherited

◆ request

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

◆ stream_t

typedef pipe< device< desc_t, dx::preference, pipe > > dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::pipe< device< desc_t, dx::preference, pipe > >
inherited

Member Enumeration Documentation

◆ type

enum dx::registry::type : ::DWORD
strongprotectedinherited

Member Function Documentation

◆ begin()

iterator dx::registry::begin ( ) const
inlineprotectedinherited

◆ catch()

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::catch ( const dx::exception & __dx_exception)
inlineinherited

◆ close()

device & dx::usb::platform::device< dx::preference >::close ( bool force = false)
inlinenoexceptinherited

◆ conclude() [1/2]

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.

◆ conclude() [2/2]

void dx::proxy::device< dx::preference >::conclude ( )
inlineoverridenoexceptinherited

conclude notifacation: device will be removed from tree

◆ configuration()

virtual uint8_t dx::usb::platform::device< dx::preference >::configuration ( uint8_t configuration)
inlinevirtualinherited

◆ configurations()

uint8_t dx::usb::platform::device< dx::preference >::configurations ( ) const
inlineinherited

◆ configure()

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::configure ( )
inlinevirtualinherited
Todo
usb::stream::device::configure(): support odd sample rate ranges

◆ count() [1/2]

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

◆ count() [2/2]

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

◆ ctl()

void dx::proxy::device< dx::preference >::ctl ( uint32_t ioctl) const
inlineinherited

◆ dx_catchall_handler()

dx::stream::control< object_t >::dx_catchall_handler ( this )
inlineoverridenoexceptinherited

◆ dx_catchall_rethrow()

dx::file::dx_catchall_rethrow ( "name: % s,
access rights:% x,
sharing options:%x" ,
name ,
access ,
share  )
inherited

◆ dx_pass()

dx::proxy::device< dx::preference >::dx_pass ( ::IOConnectCallStructMethod( io_connect, ioctl, nullptr, 0, &rx, &size) ,
"%s rx:%p size:%d" ,
fourchar::to::string(ioctl).c_str() ,
& rx,
size  )
inherited

◆ end()

iterator dx::registry::end ( ) const
inlineprotectedinherited

◆ erase()

registry & dx::registry::erase ( const char * subkey = nullptr)
inlineprotectednoexceptinherited

◆ flush()

virtual void dx::stream::control< object_t >::flush ( )
inlineprotectedvirtualinherited

◆ frame()

uint64_t dx::usb::platform::device< dx::preference >::frame ( ) const
inlineinherited

◆ get() [1/8]

value_t io::registry::get ( ::CFStringRef key) const
inlineinherited

◆ get() [2/8]

::CFTypeRef io::registry::get ( ::CFStringRef key) const
inlineinherited

◆ get() [3/8]

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

◆ get() [4/8]

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

◆ get() [5/8]

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

◆ get() [6/8]

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

◆ get() [7/8]

value_t io::registry::get ( key_t key) const
inlineinherited

◆ get() [8/8]

::CFTypeRef io::registry::get ( key_t key) const
inlineinherited

◆ halt()

virtual void dx::stream::control< object_t >::halt ( )
inlineprotectedvirtualinherited

◆ hw_clock() [1/2]

virtual bool dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::hw_clock ( ) const
inlinevirtualnoexceptinherited

◆ hw_clock() [2/2]

virtual void dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::hw_clock ( abstract::event * hw_clock)
inlinevirtualinherited

◆ ictl()

rx_t dx::proxy::device< dx::preference >::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

◆ info()

DX_PRAGMA_IGNORE_RETURN_VALUE_END void dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::info ( std::ostream & os)
inlineoverridevirtualnoexceptinherited

◆ initialize() [1/4]

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

◆ initialize() [2/4]

void dx::file::initialize ( const char * name,
::DWORD access = GENERIC_READ| GENERIC_WRITE,
::DWORD share = FILE_SHARE_READ| FILE_SHARE_WRITE )
inlineinherited

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

Exceptions
n/amicrosoft does not give information about what possible errors values are provided by its OS

◆ initialize() [3/4]

registry & dx::registry::initialize ( const std::string & key,
::HKEY root = HKEY_CURRENT_USER,
::REGSAM rights = KEY_ALL_ACCESS )
inlineprotectedinherited

◆ initialize() [4/4]

registry & dx::registry::initialize ( const std::string & key,
::REGSAM rights,
::HKEY root,
const char * path = nullptr )
inlineprotectedinherited

◆ ioctl()

size_t dx::proxy::device< dx::preference >::ioctl ( unsigned int ioctl,
const tx_t & tx,
rx_t & rx ) const
inlineinherited

◆ key_from_index()

std::string dx::registry::key_from_index ( size_t index) const
inlineprotectedinherited

◆ launch()

void dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::launch ( )
inlineoverridevirtualinherited

Reimplemented from dx::object.

◆ octl()

void dx::proxy::device< dx::preference >::octl ( unsigned int ioctl,
const tx_t & tx ) const
inlineinherited

◆ open()

device & dx::usb::platform::device< dx::preference >::open ( )
inlineinherited

opens the USB device for exclusice access

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

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

auto converter into const io_object

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

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

auto converter into const io_object

◆ operator keys()

dx_catchall_rethrow() registry &initialize( dx::registry::operator keys ( ) const
inlineprotectednoexceptinherited

◆ operator uint64_t() [1/2]

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

◆ operator uint64_t() [2/2]

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

◆ operator->()

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

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

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

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

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

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

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

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

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

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

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

auto converter into io_object

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

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

auto converter into io_object

◆ operator::io_registry_entry_t *() [1/2]

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

auto converter into io_object pointer

◆ operator::io_registry_entry_t *() [2/2]

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

auto converter into io_object pointer

◆ operator::IOUSBDeviceInterface650 **()

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

◆ operator==() [1/2]

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

◆ operator==() [2/2]

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

◆ operator>>() [1/2]

virtual device & dx::device< ::io_service_t, dx::preference >::operator>> ( std::ostream & ) const
inlinevirtualinherited

◆ operator>>() [2/2]

virtual device & dx::device< std::string, dx::preference >::operator>> ( std::ostream & ) const
inlinevirtualinherited

◆ operator[]() [1/4]

::CFTypeRef io::registry::operator[] ( ::CFStringRef key) const
inlineinherited

◆ operator[]() [2/4]

::CFTypeRef io::registry::operator[] ( ::CFStringRef key) const
inlineinherited

◆ operator[]() [3/4]

::CFTypeRef io::registry::operator[] ( key_t key) const
inlineinherited

◆ operator[]() [4/4]

::CFTypeRef io::registry::operator[] ( key_t key) const
inlineinherited

◆ parent() [1/2]

registry io::registry::parent ( ) const
inlineinherited

◆ parent() [2/2]

registry io::registry::parent ( ) const
inlineinherited

◆ reenumerate()

device & dx::usb::platform::device< dx::preference >::reenumerate ( )
inlineinherited

◆ retain() [1/2]

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

◆ retain() [2/2]

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

◆ run()

registry & dx::registry::run ( )
inlineprotectedinherited

◆ set() [1/10]

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

◆ set() [2/10]

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

◆ set() [3/10]

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

◆ set() [4/10]

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

◆ set() [5/10]

device & dx::proxy::device< dx::preference >::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.

◆ set() [6/10]

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.

◆ set() [7/10]

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

◆ set() [8/10]

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

◆ set() [9/10]

registry & io::registry::set ( key_t key,
value_t value )
inlineinherited

◆ set() [10/10]

registry & io::registry::set ( key_t key,
value_t value )
inlineinherited

◆ sleep() [1/2]

virtual void dx::device< ::io_service_t, dx::preference >::sleep ( )
inlinevirtualinherited

notify system will sleep stub

◆ sleep() [2/2]

virtual void dx::device< std::string, dx::preference >::sleep ( )
inlinevirtualinherited

notify system will sleep stub

◆ start()

virtual bool dx::stream::control< object_t >::start ( uint64_t = 0,
unsigned int starting = 1 )
inlinevirtualinherited

result indicates if start changed the state.

◆ stop()

virtual unsigned int dx::stream::control< object_t >::stop ( bool force = false)
inlinevirtualnoexceptinherited

result indicates the amount of stopped start references

◆ submit()

device & dx::usb::platform::device< dx::preference >::submit ( const request< data_t > & request,
bool autoclear = true ) const
inlineinherited

◆ wake()

void dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::wake ( )
inlineoverrideinherited

Member Data Documentation

◆ [union]

union { ... } dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::adc

◆ bcdADC

uint16_t dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::bcdADC
inherited

◆ bundle_id

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

◆ [struct]

struct { ... } dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::clock

◆ clocksource

promoted<uint32_t>::preference<decltype(dx::stream::control< usb::device< dx::preference > >::preference)> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::clocksource
inherited

◆ composite

bool dx::usb::platform::device< dx::preference >::composite
inherited

indicate WinUSB matched against single interface of composit device;

◆ connected

bool dx::proxy::device< dx::preference >::connected
protectedinherited

◆ counter

std::atomic<size_t> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::counter
inherited

◆ driver [1/3]

dx::driver<decltype(id), dx::preference>& dx::device< ::io_service_t, dx::preference >::driver
inherited

◆ driver [2/3]

dx::driver<decltype(id), dx::preference>& dx::device< ::io_service_t, dx::preference >::driver
inherited

◆ driver [3/3]

dx::driver<decltype(id), dx::preference>& dx::device< std::string, dx::preference >::driver
inherited

◆ handle

::WINUSB_INTERFACE_HANDLE dx::usb::platform::device< dx::preference >::handle
inherited

◆ [struct]

struct { ... } dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::hw

◆ icon

promoted<std::string>::preference<decltype(dx::stream::control< usb::device< dx::preference > >::preference)> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::icon
inherited

◆ id

uint8_t dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::id
inherited

◆ implicit_feedback

std::weak_ptr<dx::circular> dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::implicit_feedback
inherited

◆ iosize [1/2]

promoted<uint32_t>::preference<decltype(dx::stream::control< usb::device< dx::preference > >::preference)> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::iosize
inherited

◆ iosize [2/2]

uint32_t dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::iosize
inherited

◆ [struct]

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

◆ launched [1/3]

bool dx::object::launched
inherited

◆ launched [2/3]

bool dx::object::launched
inherited

◆ launched [3/3]

bool dx::object::launched
inherited

◆ listen

dx_catchall_rethrow () public std::deque<std::function<void()> > dx::registry::listen
protectedinherited

◆ monitor

dx::stream::device::monitor dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::monitor
inherited

◆ notify

std::deque<std::function<void(control&)> > dx::stream::control< object_t >::notify
inherited

◆ opened

std::atomic< int > dx::usb::platform::device< dx::preference >::opened
protectedinherited
Todo
add runloop ////////////////////////////////////////////////////////////////////////////

◆ pipe

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

◆ port

io::port dx::proxy::device< dx::preference >::port
protectedinherited

◆ preference [1/3]

dx::preference dx::device< ::io_service_t, dx::preference >::preference
inherited

◆ preference [2/3]

dx::preference dx::device< ::io_service_t, dx::preference >::preference
inherited

◆ preference [3/3]

dx::preference dx::device< std::string, dx::preference >::preference
inherited

◆ puid [1/2]

std::string dx::device< ::io_service_t, dx::preference >::puid
inherited

persistent UID - system unique - could change with location

◆ puid [2/2]

std::string dx::proxy::device< dx::preference >::puid
inherited

persistent UID (i.e. serial number) - system unique - if no other option to identify could change with location

◆ puuid [1/2]

std::string dx::device< ::io_service_t, dx::preference >::puuid
inherited

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

◆ puuid [2/2]

std::string dx::proxy::device< dx::preference >::puuid
inherited

persistent universal UID - universally unique ID

◆ safety_offset

promoted<uint32_t>::preference<decltype(dx::stream::control< usb::device< dx::preference > >::preference)> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::safety_offset[direction::directions]
inherited

◆ safety_offset_in

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

◆ safety_offset_out

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

◆ samplerate

promoted<uint32_t>::preference<decltype(dx::stream::control< usb::device< dx::preference > >::preference)> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::samplerate
inherited

◆ samplerate_server

decltype(super::samplerate) ::chain dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::samplerate_server
protectedinherited

◆ schedule_erase

bool dx::registry::schedule_erase
protectedinherited

◆ [struct]

struct { ... } dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::selector

◆ size

return dx::proxy::device< dx::preference >::size
inherited

◆ [struct]

struct { ... } dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::source

◆ speed

enum speed dx::usb::platform::device< dx::preference >::speed
inherited

◆ start_stop_in_progress

std::recursive_mutex dx::stream::control< object_t >::start_stop_in_progress
protectedinherited

start/stop operation in progress

◆ started

std::atomic<unsigned int> dx::stream::control< object_t >::started
inherited

◆ streams

std::map<decltype(desc_t::stream::target.idx()), std::weak_ptr<pipe< device< desc_t, dx::preference, pipe > >> > dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::streams
inherited

◆ sync_cycle_ticks

promoted<uint32_t>::preference<decltype(dx::stream::control< usb::device< dx::preference > >::preference)> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::sync_cycle_ticks
inherited

◆ sync_reference

promoted<structdesc_t::stream*>::template preference<decltype(dx::stream::control< usb::device< dx::preference > >::preference), uint32_t> dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::sync_reference
inherited

◆ try

rx_t& rx const dx::proxy::device< dx::preference >::try
inherited

◆ [struct]

struct { ... } dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >::v2

◆ version

dx::stream::device::monitor dx::stream::device< dx::stream::control< usb::device< dx::preference > >, desc_t, pipe< device< desc_t, dx::preference, pipe > > >::version
inherited

◆ [struct]

struct { ... } dx::usb::platform::device< dx::preference >::winusb

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

(c) copyright 2009 dynamic acoustics e.U. generated on

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.