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

#include <dx_stream.h>

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

Public Member Functions

virtual void conclude () noexcept
 conclude notification: device will be removed from tree More...
 
virtual void conclude ()
 conclude notifacation: device will be removed from tree More...
 
void ctl (unsigned int ioctl) const throw (exception_t)
 
void ctl (unsigned int ioctl) const throw (exception_t)
 
 device (const typename super::creator &creator)
 
template<typename rx_t >
rx_t ictl (unsigned int ioctl) const throw (exception_t)
 member ioctl More...
 
template<typename rx_t >
size_t ictl (unsigned int ioctl, rx_t &rx) const throw (exception_t)
 
template<typename rx_t >
rx_t ictl (unsigned int ioctl) const throw (exception_t)
 Windows: member ioctl. More...
 
template<typename rx_t >
size_t ictl (unsigned int ioctl, rx_t &rx) const throw (exception_t)
 
template<typename rx_t , typename tx_t >
size_t ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const throw (exception_t)
 
template<typename rx_t , typename tx_t >
rx_t ioctl (unsigned int ioctl, const tx_t &tx) const throw (exception_t)
 
size_t ioctl (unsigned int ioctl, const void *tx=nullptr, size_t tx_size=0, void *rx=nullptr, size_t rx_size=0) const throw (exception_t)
 
template<typename tx_t , typename rx_t >
size_t ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const throw (exception_t)
 
template<typename rx_t , typename tx_t >
rx_t ioctl (unsigned int ioctl, const tx_t &tx) const throw (exception_t)
 
int iosize (unsigned int iosize, event< dx::kernel > &event) throw (exception_t)
 
int iosize (unsigned int iosize) throw (exception_t)
 
int iosize () throw (exception_t)
 
virtual void launch () throw (exception_t)
 launch notification: device mounted in tree and ready to use More...
 
virtual void launch ()
 launch notifacation: device mounted in tree and ready to use More...
 
bool monitor () throw (exception_t)
 
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t * monitor () throw (exception_t)
 
template<typename tx_t >
void octl (unsigned int ioctl, const tx_t &tx) const throw (exception_t)
 
template<typename tx_t >
void octl (unsigned int ioctl, const tx_t &tx) const throw (exception_t)
 
 operator const io_registry_entry_t & () const
 auto converter into const object More...
 
 operator io_registry_entry_t & ()
 auto converter into object More...
 
 operator io_registry_entry_t * ()
 auto converter into object pointer More...
 
 operator::HANDLE () const
 
bool operator== (io_registry_entry_tobject) const noexcept
 
template<typename type_t >
type_t operator[] (const char *key) const throw (exception_t)
 
unsigned int rx (unsigned int safety_offset) throw (exception_t)
 
unsigned int rx () throw (exception_t)
 
unsigned int samplerate (unsigned int samplerate) throw (os_result)
 
unsigned int samplerate () throw (exception_t)
 
template<typename observer_t = unsigned int>
observer_t * samplerate () throw (exception_t)
 
void start () throw (exception_t)
 
void stop () throw (exception_t)
 
unsigned int tx (unsigned int safety_offset) throw (exception_t)
 
unsigned int tx () throw (exception_t)
 
unsigned int version () const throw (os_result)
 

Static Public Member Functions

static void pass (::HRESULT test) throw (exception_t)
 
template<class return_t >
static void pass (return_t value) throw (exception_t)
 
template<class return_t >
static void pass (bool test, return_t value) throw (exception_t)
 
static void pass_strict (::LONG test) throw (exception_t)
 

Public Attributes

typedef::io_service_t creator
 
bool removed =false
 

Static Protected Member Functions

static void pass (::HRESULT test) throw (exception_t)
 
static void pass (unsigned long test) throw (exception_t)
 
static void pass (::BOOL test) throw (exception_t)
 specialization for standard windows API BOOL return type More...
 
static void pass (::HANDLE test) throw (exception_t)
 specialization for test validy of windows HANDLE type More...
 
static void pass (::HWND test) throw (exception_t)
 specialization for test validy of windows HWND type - which is of course different from HANDLE More...
 
static void pass (::ATOM test) throw (exception_t)
 specialization for standard windows API ATOM return type More...
 
template<>
static void pass (unsigned long test) throw(::HRESULT)
 
template<>
static void pass (::BOOL test) throw(::HRESULT)
 
template<>
static void pass (::HANDLE test) throw(::HRESULT)
 
template<>
static void pass (::HWND test) throw(::HRESULT)
 
template<>
static void pass (::ATOM test) throw(::HRESULT)
 
template<class return_t >
static void pass (return_t value) throw (exception_t)
 
template<class return_t >
static void pass (bool test, return_t value) throw (exception_t)
 
static void pass_strict (::LONG test) throw (exception_t)
 

Protected Attributes

io::port< exception_t > port
 

Constructor & Destructor Documentation

template<typename desc_t, typename exception_t = os_result>
dx::stream::device< desc_t, exception_t >::device ( const typename super::creator creator)
inline

Member Function Documentation

template<class exception_t = os_result>
virtual void dx::device< exception_t >::conclude ( )
inlinevirtualnoexceptinherited

conclude notification: device will be removed from tree

Reimplemented in dx::coreaudio::device< io_t, bus_t, desc_t, exception_t >, and dx::midi::device< io_t, bus_t, desc_t, exception_t >.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class exception_t = os_result>
virtual void dx::device< exception_t >::conclude ( )
inlinevirtualinherited

conclude notifacation: device will be removed from tree

Reimplemented in dx::coreaudio::device< io_t, bus_t, desc_t, exception_t >, and dx::midi::device< io_t, bus_t, desc_t, exception_t >.

template<class exception_t = os_result>
void dx::device< exception_t >::ctl ( unsigned int  ioctl) const
throw (exception_t
)
inlineinherited

+ Here is the call graph for this function:

template<class exception_t = os_result>
void dx::device< exception_t >::ctl ( unsigned int  ioctl) const
throw (exception_t
)
inlineinherited

+ Here is the call graph for this function:

template<class exception_t = os_result>
template<typename rx_t >
rx_t dx::device< exception_t >::ictl ( unsigned int  ioctl) const
throw (exception_t
)
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 call graph for this function:

+ Here is the caller graph for this function:

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

+ Here is the call graph for this function:

template<class exception_t = os_result>
template<typename rx_t >
rx_t dx::device< exception_t >::ictl ( unsigned int  ioctl) const
throw (exception_t
)
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:

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

+ Here is the call graph for this function:

template<class exception_t = os_result>
template<typename rx_t , typename tx_t >
size_t dx::device< exception_t >::ioctl ( unsigned int  ioctl,
const tx_t &  tx,
rx_t &  rx 
) const
throw (exception_t
)
inlineinherited

+ Here is the caller graph for this function:

template<class exception_t = os_result>
template<typename rx_t , typename tx_t >
rx_t dx::device< exception_t >::ioctl ( unsigned int  ioctl,
const tx_t &  tx 
) const
throw (exception_t
)
inlineinherited

+ Here is the call graph for this function:

template<class exception_t = os_result>
size_t dx::device< exception_t >::ioctl ( unsigned int  ioctl,
const void *  tx = nullptr,
size_t  tx_size = 0,
void *  rx = nullptr,
size_t  rx_size = 0 
) const
throw (exception_t
)
inlineinherited
template<class exception_t = os_result>
template<typename tx_t , typename rx_t >
size_t dx::device< exception_t >::ioctl ( unsigned int  ioctl,
const tx_t &  tx,
rx_t &  rx 
) const
throw (exception_t
)
inlineinherited

+ Here is the call graph for this function:

template<class exception_t = os_result>
template<typename rx_t , typename tx_t >
rx_t dx::device< exception_t >::ioctl ( unsigned int  ioctl,
const tx_t &  tx 
) const
throw (exception_t
)
inlineinherited

+ Here is the call graph for this function:

template<typename desc_t, typename exception_t = os_result>
int dx::stream::device< desc_t, exception_t >::iosize ( unsigned int  iosize,
event< dx::kernel > &  event 
)
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
int dx::stream::device< desc_t, exception_t >::iosize ( unsigned int  iosize)
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
int dx::stream::device< desc_t, exception_t >::iosize ( )
throw (exception_t
)
inline
template<class exception_t = os_result>
virtual void dx::device< exception_t >::launch ( )
throw (exception_t
)
inlinevirtualinherited

launch notification: device mounted in tree and ready to use

Reimplemented in dx::coreaudio::device< io_t, bus_t, desc_t, exception_t >, and dx::midi::device< io_t, bus_t, desc_t, exception_t >.

+ Here is the caller graph for this function:

template<class exception_t = os_result>
virtual void dx::device< exception_t >::launch ( )
inlinevirtualinherited

launch notifacation: device mounted in tree and ready to use

Reimplemented in dx::coreaudio::device< io_t, bus_t, desc_t, exception_t >, and dx::midi::device< io_t, bus_t, desc_t, exception_t >.

template<typename desc_t, typename exception_t = os_result>
bool dx::stream::device< desc_t, exception_t >::monitor ( )
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t* dx::stream::device< desc_t, exception_t >::monitor ( )
throw (exception_t
)
inline
template<class exception_t = os_result>
template<typename tx_t >
void dx::device< exception_t >::octl ( unsigned int  ioctl,
const tx_t &  tx 
) const
throw (exception_t
)
inlineinherited

+ Here is the call graph for this function:

template<class exception_t = os_result>
template<typename tx_t >
void dx::device< exception_t >::octl ( unsigned int  ioctl,
const tx_t &  tx 
) const
throw (exception_t
)
inlineinherited

+ 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::reference< io_registry_entry_t >::operator io_registry_entry_t * ( )
inlineinherited

auto converter into object pointer

template<class exception_t = os_result>
dx::device< exception_t >::operator::HANDLE ( ) const
inlineinherited

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool dx::io::reference< io_registry_entry_t >::operator== ( io_registry_entry_t  object) const
inlinenoexceptinherited
template<class exception_t = os_result>
template<typename type_t >
type_t dx::io::registry< exception_t >::operator[] ( const char *  key) const
throw (exception_t
)
inlineinherited
template<class exception_t = os_result>
static void dx::exception< exception_t >::pass ( ::HRESULT  test)
throw (exception_t
)
inlinestaticinherited
template<class exception_t = os_result>
static void dx::exception< exception_t >::pass ( ::HRESULT  test)
throw (exception_t
)
inlinestaticinherited
template<class exception_t = os_result>
static void dx::exception< exception_t >::pass ( unsigned long  test)
throw (exception_t
)
inlinestaticinherited
template<class exception_t = os_result>
static void dx::exception< exception_t >::pass ( ::BOOL  test)
throw (exception_t
)
inlinestaticinherited

specialization for standard windows API BOOL return type

template<class exception_t = os_result>
static void dx::exception< exception_t >::pass ( ::HANDLE  test)
throw (exception_t
)
inlinestaticinherited

specialization for test validy of windows HANDLE type

template<class exception_t = os_result>
static void dx::exception< exception_t >::pass ( ::HWND  test)
throw (exception_t
)
inlinestaticinherited

specialization for test validy of windows HWND type - which is of course different from HANDLE

template<class exception_t = os_result>
static void dx::exception< exception_t >::pass ( ::ATOM  test)
throw (exception_t
)
inlinestaticinherited

specialization for standard windows API ATOM return type

template<>
static void dx::exception<::HRESULT >::pass ( unsigned long  test)
throw(::HRESULT
)
staticinherited
template<>
static void dx::exception<::HRESULT >::pass ( ::BOOL  test)
throw(::HRESULT
)
staticinherited
template<>
static void dx::exception<::HRESULT >::pass ( ::HANDLE  test)
throw(::HRESULT
)
staticinherited
template<>
static void dx::exception<::HRESULT >::pass ( ::HWND  test)
throw(::HRESULT
)
staticinherited
template<>
static void dx::exception<::HRESULT >::pass ( ::ATOM  test)
throw(::HRESULT
)
staticinherited
template<class exception_t = os_result>
template<class return_t >
static void dx::exception< exception_t >::pass ( return_t  value)
throw (exception_t
)
inlinestaticinherited

+ Here is the caller graph for this function:

template<class exception_t = os_result>
template<class return_t >
static void dx::exception< exception_t >::pass ( return_t  value)
throw (exception_t
)
inlinestaticinherited

+ Here is the caller graph for this function:

template<class exception_t = os_result>
template<class return_t >
static void dx::exception< exception_t >::pass ( bool  test,
return_t  value 
)
throw (exception_t
)
inlinestaticinherited
template<class exception_t = os_result>
template<class return_t >
static void dx::exception< exception_t >::pass ( bool  test,
return_t  value 
)
throw (exception_t
)
inlinestaticinherited
template<class exception_t = os_result>
static void dx::exception< exception_t >::pass_strict ( ::LONG  test)
throw (exception_t
)
inlinestaticinherited

+ Here is the caller graph for this function:

template<class exception_t = os_result>
static void dx::exception< exception_t >::pass_strict ( ::LONG  test)
throw (exception_t
)
inlinestaticinherited

+ Here is the caller graph for this function:

template<typename desc_t, typename exception_t = os_result>
unsigned int dx::stream::device< desc_t, exception_t >::rx ( unsigned int  safety_offset)
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
unsigned int dx::stream::device< desc_t, exception_t >::rx ( )
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
unsigned int dx::stream::device< desc_t, exception_t >::samplerate ( unsigned int  samplerate)
throw (os_result
)
inline
template<typename desc_t, typename exception_t = os_result>
unsigned int dx::stream::device< desc_t, exception_t >::samplerate ( )
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
template<typename observer_t = unsigned int>
observer_t* dx::stream::device< desc_t, exception_t >::samplerate ( )
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
void dx::stream::device< desc_t, exception_t >::start ( )
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
void dx::stream::device< desc_t, exception_t >::stop ( )
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
unsigned int dx::stream::device< desc_t, exception_t >::tx ( unsigned int  safety_offset)
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
unsigned int dx::stream::device< desc_t, exception_t >::tx ( )
throw (exception_t
)
inline
template<typename desc_t, typename exception_t = os_result>
unsigned int dx::stream::device< desc_t, exception_t >::version ( ) const
throw (os_result
)
inline

Member Data Documentation

template<class exception_t = os_result>
typedef::io_service_t dx::device< exception_t >::creator
inherited
template<class exception_t = os_result>
io::port<exception_t> dx::device< exception_t >::port
protectedinherited
template<class exception_t = os_result>
bool dx::device< exception_t >::removed =false
inherited

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

(c) copyright 2009 dynamic acoustics e.U. generated on Tue Dec 4 2018

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.