dxd - dynax driver framework 2.6.0d205
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::service::client::_device< desc_t, preference_t, stream_t > Class Template Reference

service client streaming device interface class More...

#include <dx_service_client_device.h>

Inheritance diagram for dx::service::client::_device< desc_t, preference_t, stream_t >:
Collaboration diagram for dx::service::client::_device< desc_t, preference_t, stream_t >:

Classes

class  chain

Public Types

typedef desc_t desc_t
typedef stream_t stream_t

Public Member Functions

 _device (decltype(super::driver)&driver, decltype(super::id)&id)
 the service stream device class constructor
 _device (decltype(super::driver)&driver, decltype(super::id)&id, const desc_t &desc)
void conclude () noexcept override
 dx_catchall_handler (this,) void conclude() noexcept override
 dx_catchall_rethrow () virtual uint64_t frame() const
void exception (const dx::exception &exception, bool filtered=false) const noexcept override
void hw_clock (abstract::event *) override
virtual bool hw_clock () const noexcept
void info (std::ostream &os) noexcept override
void launch () override
_devicereset ()
virtual bool start (uint64_t=0, unsigned int starting=1)
virtual unsigned int stop (bool force=false) noexcept
std::string string (uint8_t)
void wake () override
 ~_device () override

Public Attributes

dx::promoted< typename super::client_map > clients
abstract::eventclock
std::atomic< size_t > counter
dx::promoted< desc_t >::template preference< preference_t, typename desc_t::value_t > desc {this->preference}
struct { 
   abstract::event *   clock 
   std::atomic< size_t >   counter 
   uint32_t   iosize 
hw
promoted< std::string >::preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> icon
dx::stream::device::monitor monitor
std::deque< std::function< void(control &)> > notify
std::atomic< unsigned int > started {}
std::map< decltype(desc_t::stream::target.idx()), std::weak_ptr< stream_t > > streams
promoted< uint32_t >::preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> sync_cycle_ticks
promoted< structdesc_t::stream * >::template preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference), uint32_tsync_reference
dx::stream::device::monitor version

Protected Types

typedef service::request< service::stream::data< desc_t > > request

Protected Member Functions

virtual void flush ()
virtual void halt ()

Protected Attributes

dx::service::client::_device::chain clocksource
dx::service::client::_device::chain iosize
dx::service::client::_device::chain pipe
pipe< requestpipe {this->id}
dx::service::client::_device::chain safety_offset [dx::stream::direction::out]
dx::service::client::_device::chain safety_offset_in [dx::stream::direction::in]
dx::service::client::_device::chain safety_offset_out [dx::stream::direction::out]
dx::service::client::_device::chain samplerate
std::recursive_mutex start_stop_in_progress
 start/stop operation in progress

Detailed Description

template<typename desc_t, typename preference_t, typename stream_t>
class dx::service::client::_device< desc_t, preference_t, stream_t >

service client streaming device interface class

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

Member Typedef Documentation

◆ desc_t

typedef desc_t dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::desc_t
inherited

◆ request

template<typename desc_t, typename preference_t, typename stream_t>
typedef service::request<service::stream::data<desc_t> > dx::service::client::_device< desc_t, preference_t, stream_t >::request
protected

◆ stream_t

typedef stream_t dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::stream_t
inherited

Constructor & Destructor Documentation

◆ _device() [1/2]

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device< desc_t, preference_t, stream_t >::_device ( decltype(super::driver)& driver,
decltype(super::id)& id )
inline

the service stream device class constructor

◆ _device() [2/2]

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device< desc_t, preference_t, stream_t >::_device ( decltype(super::driver)& driver,
decltype(super::id)& id,
const desc_t & desc )
inline

◆ ~_device()

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device< desc_t, preference_t, stream_t >::~_device ( )
inlineoverride

Member Function Documentation

◆ conclude()

template<typename desc_t, typename preference_t, typename stream_t>
void dx::service::client::_device< desc_t, preference_t, stream_t >::conclude ( )
inlineoverridenoexcept

◆ dx_catchall_handler()

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

◆ dx_catchall_rethrow()

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device< desc_t, preference_t, stream_t >::dx_catchall_rethrow ( ) const
inline

◆ exception()

template<typename desc_t, typename preference_t, typename stream_t>
void dx::service::client::_device< desc_t, preference_t, stream_t >::exception ( const dx::exception & exception,
bool filtered = false ) const
inlineoverridenoexcept

◆ flush()

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

◆ halt()

◆ hw_clock() [1/2]

template<typename desc_t, typename preference_t, typename stream_t>
void dx::service::client::_device< desc_t, preference_t, stream_t >::hw_clock ( abstract::event * )
inlineoverridevirtual

◆ hw_clock() [2/2]

◆ info()

template<typename desc_t, typename preference_t, typename stream_t>
void dx::service::client::_device< desc_t, preference_t, stream_t >::info ( std::ostream & os)
inlineoverridenoexcept

◆ launch()

template<typename desc_t, typename preference_t, typename stream_t>
void dx::service::client::_device< desc_t, preference_t, stream_t >::launch ( )
inlineoverride

◆ reset()

template<typename desc_t, typename preference_t, typename stream_t>
_device & dx::service::client::_device< desc_t, preference_t, stream_t >::reset ( )
inline

◆ start()

◆ stop()

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

result indicates the amount of stopped start references

◆ string()

template<typename desc_t, typename preference_t, typename stream_t>
std::string dx::service::client::_device< desc_t, preference_t, stream_t >::string ( uint8_t )
inline

◆ wake()

void dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::wake ( )
inlineoverrideinherited

Member Data Documentation

◆ clients

template<typename desc_t, typename preference_t, typename stream_t>
dx::promoted<typename super::client_map> dx::service::client::_device< desc_t, preference_t, stream_t >::clients
Initial value:
{
[this](dx::promoted<typename super::client_map>::lock_t&& lock, const typename super::client_map& value, const typename super::client_map&){
dx::promoted<uint32_t>::lock_t tmp(std::move(lock));
if(clients.transient)
clients.commit(std::move(tmp), value);
}}
promoted< typename super::client_map > clients
Definition dx_asio_client_device.h:108
std::unique_lock< mutex_t > lock_t
Definition dx_value.h:71

◆ clock

abstract::event* dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::clock
inherited

◆ clocksource

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::clocksource
protected

◆ counter

std::atomic<size_t> dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::counter
inherited

◆ desc

template<typename desc_t, typename preference_t, typename stream_t>
dx::promoted<desc_t>::template preference<preference_t, typename desc_t::value_t> dx::service::client::_device< desc_t, preference_t, stream_t >::desc {this->preference}

◆ [struct]

struct { ... } dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::hw

◆ icon

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

◆ iosize

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::iosize
protected

◆ monitor

dx::stream::device::monitor dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::monitor
inherited

◆ notify

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

◆ pipe [1/2]

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::pipe[dx::stream::direction::out]
protected

◆ pipe [2/2]

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::pipe {this->id}
protected

◆ safety_offset

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::safety_offset
protected

◆ safety_offset_in

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::safety_offset_in[dx::stream::direction::in]
protected

◆ safety_offset_out

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::safety_offset_out[dx::stream::direction::out]
protected

◆ samplerate

template<typename desc_t, typename preference_t, typename stream_t>
dx::service::client::_device::chain dx::service::client::_device< desc_t, preference_t, stream_t >::samplerate
protected

◆ start_stop_in_progress

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

start/stop operation in progress

◆ started

template<typename object_t>
std::atomic<unsigned int> dx::stream::control< object_t >::started {}
inherited

◆ streams

std::map<decltype(desc_t::stream::target.idx()), std::weak_ptr<stream_t> > dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::streams
inherited

◆ sync_cycle_ticks

promoted<uint32_t>::preference<decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::sync_cycle_ticks
inherited

◆ sync_reference

promoted<structdesc_t::stream*>::template preference<decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference), uint32_t> dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::sync_reference
inherited

◆ version

dx::stream::device::monitor dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t >::version
inherited

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.