dxd - dynax driver framework 2.6.0d221
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::stream::object< _device_t > Class Template Referenceabstract

#include <dx_stream_control.h>

Inheritance diagram for dx::stream::object< _device_t >:
Collaboration diagram for dx::stream::object< _device_t >:

Public Types

typedef _device_t device_t

Public Member Functions

virtual void exception (const exception &exception, bool filtered=false) const noexcept=0
 notification exception handler
void info (std::ostream &os) noexcept override try
 log object class information
 object (device_t &device)
template<typename ...>
 object (device_t &device,...)
bool try_conclude () noexcept
 atomically conclude()s if currently launched; returns whether this call did it
bool try_launch ()
 atomically launch()es if not already launched; returns whether this call did it

Public Attributes

std::atomic< bool > launched {}

Protected Member Functions

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. Called only through try_conclude() - never call this directly from outside the class hierarchy.
virtual void launch ()
 launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy.

Protected Attributes

_device_t & device

Member Typedef Documentation

◆ device_t

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

Constructor & Destructor Documentation

◆ object() [1/2]

template<typename _device_t>
template<typename ...>
dx::stream::object< _device_t >::object ( device_t & device,
... )
inline

◆ object() [2/2]

template<typename _device_t>
dx::stream::object< _device_t >::object ( device_t & device)
inline

Member Function Documentation

◆ conclude()

◆ exception()

◆ info()

template<typename _device_t>
void dx::stream::object< _device_t >::info ( std::ostream & os)
inlineoverridevirtualnoexcept

log object class information

Reimplemented from dx::object.

Reimplemented in dx::stream::pin< device_t, _circular_t >, dx::stream::stream< device_t, dx::circular, usb::pipe< device_t > >, dx::usb::pipe< device_t >, dx::usb::pipe< device_t >, and dx::usb::stream::pipe< device_t, circular_t, stream_t >.

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

◆ launch()

virtual void dx::object::launch ( )
inlineprotectedvirtualinherited

launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy.

Reimplemented in dx::asio::client::driver< device_t, devices >, dx::map::driver< _device_t >, dx::map::driver< device<> >, dx::map::driver< device_t >, dx::proxy::driver< device_t >, dx::proxy::driver< device_t >, dx::proxy::driver< device_t >, dx::service::app, dx::service::client::_device< desc, dx::preference, stream< device< desc, dx::preference, stream > > >, dx::service::client::driver< device_t >, dx::service::device< preference_t >, dx::service::device< dx::preference >, dx::service::device< super_device_t >, dx::stream::stream< device_t, dx::circular, usb::pipe< device_t > >, dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe > > >, and dx::virtuel::driver< device_t >.

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

◆ try_conclude()

bool dx::object::try_conclude ( )
inlinenoexceptinherited

atomically conclude()s if currently launched; returns whether this call did it

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

◆ try_launch()

bool dx::object::try_launch ( )
inlineinherited

atomically launch()es if not already launched; returns whether this call did it

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
protected

◆ launched

std::atomic<bool> dx::object::launched {}
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.