dxd - dynax driver framework 2.6.0d205
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::stream::pin< device_t, _circular_t > Class Template Reference

#include <dx_stream_pin.h>

Inheritance diagram for dx::stream::pin< device_t, _circular_t >:
Collaboration diagram for dx::stream::pin< device_t, _circular_t >:

Public Types

typedef _circular_t circular_t
typedef _device_t device_t

Public Member Functions

template<unsigned int channels, typename channel_t>
DX_PRAGMA_IGNORE_RETURN_VALUE_END pinattach (channel_t **[2], const uint64_t[(channels+63)/64]) try
 catch (...)
 catch (...)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
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.
 dx_catchall_handler (this,) ~pin() override
virtual float encoder (dx::stream::encoder::index::type type, int index) const
virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END bool encoder (dx::stream::encoder::index::type type, int index, float value)
void exception (const dx::exception &exception, bool filtered=false) const noexcept override
 notification exception handler
void info (std::ostream &os) noexcept override try
 log object class information
virtual void launch ()
 launch notification: object mounted and ready to use
virtual operator circular_t * () const noexcept
virtual circular_toperator-> () const noexcept
 pin (device_t &device, const typename device_t::desc::stream::desc &stream_desc, const typename device_t::desc::stream::pin::desc &pin_desc)
 pin (device_t &device, unsigned int stream_idx=0, unsigned int pin_idx=0)
bool start (uint64_t frame=0, unsigned int starting=1) override try
virtual unsigned int stop (bool force=false) noexcept

Public Attributes

bool launched {}
std::deque< std::function< void(control &)> > notify
std::atomic< unsigned int > started
stream_t & stream

Protected Member Functions

virtual void flush ()
void halt () noexcept override

Protected Attributes

_device_t & device
std::recursive_mutex start_stop_in_progress
 start/stop operation in progress

Member Typedef Documentation

◆ circular_t

template<typename device_t, typename _circular_t = dx::circular>
typedef _circular_t dx::stream::pin< device_t, _circular_t >::circular_t

◆ device_t

template<typename _device_t>
typedef _device_t dx::stream::object< _device_t >::device_t
inherited

Constructor & Destructor Documentation

◆ pin() [1/2]

template<typename device_t, typename _circular_t = dx::circular>
dx::stream::pin< device_t, _circular_t >::pin ( device_t & device,
const typename device_t::desc::stream::desc & stream_desc,
const typename device_t::desc::stream::pin< device_t, _circular_t >::desc & pin_desc )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pin() [2/2]

template<typename device_t, typename _circular_t = dx::circular>
dx::stream::pin< device_t, _circular_t >::pin ( device_t & device,
unsigned int stream_idx = 0,
unsigned int pin_idx = 0 )
inline
Here is the call graph for this function:

Member Function Documentation

◆ attach()

template<typename device_t, typename _circular_t = dx::circular>
template<unsigned int channels, typename channel_t>
DX_PRAGMA_IGNORE_RETURN_VALUE_END pin & dx::stream::pin< device_t, _circular_t >::attach ( channel_t ** [2],
const uint64_t [(channels+63)/64] )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ catch() [1/6]

template<typename device_t, typename _circular_t = dx::circular>
dx::stream::pin< device_t, _circular_t >::catch ( ...)
inline

◆ catch() [2/6]

template<typename device_t, typename _circular_t = dx::circular>
dx::stream::pin< device_t, _circular_t >::catch ( ...)
inline

◆ catch() [3/6]

template<typename device_t, typename _circular_t = dx::circular>
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::stream::pin< device_t, _circular_t >::catch ( const dx::exception & __dx_exception)
inline

◆ catch() [4/6]

template<typename device_t, typename _circular_t = dx::circular>
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::stream::pin< device_t, _circular_t >::catch ( const dx::exception & __dx_exception)
inline

◆ catch() [5/6]

template<typename device_t, typename _circular_t = dx::circular>
dx::stream::pin< device_t, _circular_t >::catch ( const std::exception & __std_exception)
inline

◆ catch() [6/6]

template<typename device_t, typename _circular_t = dx::circular>
dx::stream::pin< device_t, _circular_t >::catch ( const std::exception & __std_exception)
inline

◆ conclude()

◆ dx_catchall_handler()

template<typename device_t, typename _circular_t = dx::circular>
dx::stream::pin< device_t, _circular_t >::dx_catchall_handler ( this )
inlineoverride

◆ encoder() [1/2]

template<typename device_t, typename _circular_t = dx::circular>
virtual float dx::stream::pin< device_t, _circular_t >::encoder ( dx::stream::encoder::index::type type,
int index ) const
inlinevirtual

◆ encoder() [2/2]

template<typename device_t, typename _circular_t = dx::circular>
virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END bool dx::stream::pin< device_t, _circular_t >::encoder ( dx::stream::encoder::index::type type,
int index,
float value )
inlinevirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exception()

template<typename device_t, typename _circular_t = dx::circular>
void dx::stream::pin< device_t, _circular_t >::exception ( const dx::exception & exception,
bool filtered = false ) const
inlineoverridevirtualnoexcept

notification exception handler

Implements dx::object.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ flush()

virtual void dx::stream::control< object< device_t > >::flush ( )
inlineprotectedvirtualinherited
Here is the caller graph for this function:

◆ halt()

template<typename device_t, typename _circular_t = dx::circular>
void dx::stream::pin< device_t, _circular_t >::halt ( )
inlineoverrideprotectedvirtualnoexcept

◆ info()

template<typename device_t, typename _circular_t = dx::circular>
void dx::stream::pin< device_t, _circular_t >::info ( std::ostream & os)
inlineoverridevirtualnoexcept

log object class information

Reimplemented from dx::stream::control< object< device_t > >.

Here is the call graph for this function:

◆ launch()

◆ operator circular_t *()

template<typename device_t, typename _circular_t = dx::circular>
virtual dx::stream::pin< device_t, _circular_t >::operator circular_t * ( ) const
inlinevirtualnoexcept

◆ operator->()

template<typename device_t, typename _circular_t = dx::circular>
virtual circular_t * dx::stream::pin< device_t, _circular_t >::operator-> ( ) const
inlinevirtualnoexcept

◆ start()

template<typename device_t, typename _circular_t = dx::circular>
bool dx::stream::pin< device_t, _circular_t >::start ( uint64_t = 0,
unsigned int starting = 1 )
inlineoverridevirtual

result indicates if start changed the state.

Reimplemented from dx::stream::control< object< device_t > >.

Here is the call graph for this function:

◆ stop()

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

result indicates the amount of stopped start references

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ device

template<typename _device_t>
_device_t& dx::stream::object< _device_t >::device
protectedinherited

◆ launched

bool dx::object::launched {}
inherited

◆ notify

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

◆ start_stop_in_progress

std::recursive_mutex dx::stream::control< object< device_t > >::start_stop_in_progress
protectedinherited

start/stop operation in progress

◆ started

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

◆ stream

template<typename device_t, typename _circular_t = dx::circular>
stream_t& dx::stream::pin< device_t, _circular_t >::stream

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.