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::pin< io_t, bus_t, pin_desc_t, exception_t, device_t > Class Template Reference

generic streaming pin class More...

#include <dx_stream.h>

+ Inheritance diagram for dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >:
+ Collaboration diagram for dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >:

Public Member Functions

template<unsigned int channels, typename channel_t >
void channels (channel_t **io[2], uint64_t channel_map[(channels+63)/64]) throw (exception_t)
 kernel streaming channel creator More...
 
void launch () throw (exception_t)
 
 operator io_t * () const noexcept
 
io_t * operator-> () const noexcept
 
bool operator== (const device_t &test) const
 
 pin (const pin_desc_t &pin_desc, device_t &device, open< bus_t >open) throw (exception_t)
 generic pin constructor More...
 
 pin (const pin &pin) throw (exception_t)
 
void signal () throw (exception_t)
 signal data available More...
 
void start () throw (exception_t)
 
void stop (bool force=false) throw (exception_t)
 
virtual ~pin () noexcept
 closes the pin More...
 

Public Attributes

channel::controlcontrol =nullptr
 

Detailed Description

template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
class dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >

generic streaming pin class

example:

Exceptions
incase of an error returned by the underlaying API the device class throws an exception converted from dx::os_result. with the default exception_t=dx::os_error template parameter the dx::os_result itself will be thrown.

Constructor & Destructor Documentation

template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::pin ( const pin_desc_t &  pin_desc,
device_t &  device,
open< bus_t >  open 
)
throw (exception_t
)
inline

generic pin constructor

Exceptions
n/a
template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::pin ( const pin< io_t, bus_t, pin_desc_t, exception_t, device_t > &  pin)
throw (exception_t
)
inline
template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
virtual dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::~pin ( )
inlinenoexcept

closes the pin

Member Function Documentation

template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
template<unsigned int channels, typename channel_t >
void dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::channels ( channel_t **  io[2],
uint64_t  channel_map[(channels+63)/64] 
)
throw (exception_t
)
inline

kernel streaming channel creator

template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
void dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::launch ( )
throw (exception_t
)
inline
template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::operator io_t * ( ) const
inlinenoexcept
template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
io_t* dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::operator-> ( ) const
inlinenoexcept
template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
bool dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::operator== ( const device_t &  test) const
inline
template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
void dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::signal ( )
throw (exception_t
)
inline

signal data available

Todo:
Windows: remove and implement shared event::signal
template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
void dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::start ( )
throw (exception_t
)
inline

+ Here is the caller graph for this function:

template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
void dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::stop ( bool  force = false)
throw (exception_t
)
inline

+ Here is the caller graph for this function:

Member Data Documentation

template<typename io_t, typename bus_t, typename pin_desc_t, typename exception_t = os_result, typename device_t = dx::device<exception_t>>
channel::control* dx::stream::pin< io_t, bus_t, pin_desc_t, exception_t, device_t >::control =nullptr

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.