dxd - dynax driver framework 2.1.0d73
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t > Class Template Referenceabstract

virtual streaming pin class More...

#include <dx_virtual_stream_device.h>

+ Inheritance diagram for dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >:
+ Collaboration diagram for dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >:

Public Types

typedef _circular_t circular_t
 
typedef _desc_t desc_t
 
typedef _device_t device_t
 

Public Member Functions

template<unsigned int channels, typename channel_t >
pinattach (channel_t **io[2], uint64_t channel_map[(channels+63)/64]) try
 
 dx_catchall_rethrow () pin &abort()
 
 dx_catchall_rethrow () pin &clear()
 
 dx_catchall_rethrow () pin &flush() noexcept
 
 dx_catchall_rethrow () pin &reset()
 
 dx_catchall_rethrow () pin &signal()
 
 dx_catchall_rethrow () virtual bool encoder(dx
 
 dx_catchall_rethrow () virtual void start(uint64_t frame=0) try
 
virtual float encoder (dx::stream::encoder::index::type type, int index) const
 
 operator circular_t * () const noexcept
 
circular_toperator-> () const noexcept
 
 pin (device_t &device, const typename desc_t::stream::desc &stream_desc, const typename desc_t::stream::pin::desc &pin_desc)
 
uint32_t samplerate () const
 
uint32_t samplerate (uint32_t samplerate)
 
virtual void stop (bool force=false) noexcept
 
pinwait ()
 
virtual ~pin () noexcept
 

Public Attributes

dx::stream::channel::controlcontrol = nullptr
 
const struct desc_t::stream & stream
 

Protected Member Functions

virtual void received (os_result status, size_t size, int64_t timestamp)
 
virtual void transmitted (os_result status, size_t size, int64_t timestamp)
 

Protected Attributes

std::atomic< int32_tstarted {}
 

Detailed Description

template<typename _desc_t, typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
class dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >

virtual streaming pin class

example:

Exceptions
incase of an error returned by the underlaying API the device class throws a dx::exception.

Member Typedef Documentation

◆ circular_t

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
typedef _circular_t dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::circular_t

◆ desc_t

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
typedef _desc_t dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::desc_t

◆ device_t

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
typedef _device_t dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::device_t

Constructor & Destructor Documentation

◆ pin()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::pin ( device_t & device,
const typename desc_t::stream::desc & stream_desc,
const typename desc_t::stream::pin< _desc_t, _circular_t, _device_t >::desc & pin_desc )
inline
Todo
pin::control: find descriptive, scoping name; evaluate presence in non-kernel interface

◆ ~pin()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
virtual dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::~pin ( )
inlinevirtualnoexcept
+ Here is the call graph for this function:

Member Function Documentation

◆ attach()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
template<unsigned int channels, typename channel_t >
pin & dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::attach ( channel_t ** io[2],
uint64_t channel_map[(channels+63)/64] )
inline

◆ dx_catchall_rethrow() [1/7]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::dx_catchall_rethrow ( ) &
inline

◆ dx_catchall_rethrow() [2/7]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::dx_catchall_rethrow ( ) &
inline

◆ dx_catchall_rethrow() [3/7]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::dx_catchall_rethrow ( ) &
inlinenoexcept

◆ dx_catchall_rethrow() [4/7]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::dx_catchall_rethrow ( ) &
inline

◆ dx_catchall_rethrow() [5/7]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::dx_catchall_rethrow ( ) &
inline

◆ dx_catchall_rethrow() [6/7]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::dx_catchall_rethrow ( )
inline

◆ dx_catchall_rethrow() [7/7]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::dx_catchall_rethrow ( )
inlinepure virtual

◆ encoder()

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

◆ operator circular_t *()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::operator circular_t * ( ) const
inlinenoexcept

◆ operator->()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
circular_t * dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::operator-> ( ) const
inlinenoexcept

◆ received()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
virtual void dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::received ( os_result status,
size_t size,
int64_t timestamp )
inlineprotectedvirtual

◆ samplerate() [1/2]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
uint32_t dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::samplerate ( ) const
inline
+ Here is the caller graph for this function:

◆ samplerate() [2/2]

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
uint32_t dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::samplerate ( uint32_t samplerate)
inline
+ Here is the call graph for this function:

◆ stop()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
virtual void dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::stop ( bool force = false)
inlinevirtualnoexcept
+ Here is the caller graph for this function:

◆ transmitted()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
virtual void dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::transmitted ( os_result status,
size_t size,
int64_t timestamp )
inlineprotectedvirtual

◆ wait()

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
pin & dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::wait ( )
inline

Member Data Documentation

◆ control

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
dx::stream::channel::control* dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::control = nullptr

◆ started

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
std::atomic<int32_t> dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::started {}
protected

◆ stream

template<typename _desc_t , typename _circular_t = dx::circular, typename _device_t = device<_desc_t>>
const struct desc_t::stream& dx::virtuel::stream::pin< _desc_t, _circular_t, _device_t >::stream

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Nov 15 2024

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.