|
dxd - dynax driver framework 2.6.0d205
cross platform open source driver development framework
|
#include <dx_usb_device.h>
Public Types | |
| typedef device<> | device_t |
| typedef device<> | device_t |
| enum | type |
Public Member Functions | |
| pipe & | abort () try |
| virtual void | callback () |
| catch (...) | |
| catch (...) | |
| 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) |
| 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) | |
| catch (const std::exception &__std_exception) | |
| catch (const std::exception &__std_exception) | |
| void | conclude () noexcept override |
| 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,) void conclude() noexcept override | |
| dx_catchall_handler (this,) void conclude() noexcept override | |
| dx_catchall_rethrow (;,"endpoint:%x interface:%d setting:%d", endpoint.address, endpoint.interface, endpoint.setting) pipe &max_frame_size(uint32_t frame_size) | |
| dx_catchall_rethrow () os_result status() const noexcept | |
| virtual void | exception (const exception &exception, bool filtered=false) const noexcept=0 |
| notification exception handler | |
| void | info (std::ostream &os) noexcept override |
| log object class information | |
| virtual void | launch () |
| launch notification: object mounted and ready to use | |
| operator os_event () noexcept | |
| template<typename data_t> | |
| pipe & | operator<< (const data_t &data) |
| synchronous USB write request | |
| template<typename data_t> | |
| pipe & | operator>> (data_t &data) |
| synchronous USB read request | |
| pipe (device_t &device, const usb::endpoint &endpoint) | |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END event & | reset (uint64_t count=0) override try |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END event & | reset (uint64_t count=0) override try |
| event & | signal (uint64_t count=1) override try |
| event & | signal (uint64_t count=1) override try |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END uint64_t | signalled () const |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END uint64_t | signalled () const |
| bool | start (uint64_t frame, unsigned int started=1) override try |
| async IO thread control | |
| virtual unsigned int | stop (bool force=false) noexcept |
| virtual unsigned int | stop (bool force=false) noexcept |
| pipe & | submit (const request< data_t > &request) const try |
| standard request to pipe | |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END event & | wait (bool reset=false) override try |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END event & | wait (bool reset=false) override try |
| template<typename rep_t, typename period_t> | |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END bool | wait (const std::chrono::duration< rep_t, period_t > &timeout, bool reset=false) try |
| template<typename rep_t, typename period_t> | |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END bool | wait (const std::chrono::duration< rep_t, period_t > &timeout, bool reset=false) try |
| ~pipe () override | |
Public Attributes | |
| const usb::endpoint::attributes & | attributes = reinterpret_cast<const struct usb::endpoint::attributes&>(bmAttributes) |
| std::deque< union audio::descriptor::endpoint > | audio |
| class buffer { | |
| } | buffer |
| ::WINUSB_INTERFACE_HANDLE | handle |
| interface & | interface |
| bool | launched |
| bool | launched |
| unsigned int | micro_frames |
| std::deque< std::function< void(control &)> > | notify |
| std::deque< std::function< void(control &)> > | notify |
| std::atomic< unsigned int > | started |
| std::atomic< unsigned int > | started |
Static Public Attributes | |
| static constexpr auto | scope = kernel |
Protected Member Functions | |
| virtual void | flush () |
| virtual void | flush () |
| void | halt () noexcept override |
| async IO thread control (required for Windows compatibility) | |
| virtual void | received (os_result, size_t) |
| virtual async callbacks | |
| virtual void | transmitted (os_result, size_t) |
Protected Attributes | |
| struct { | |
| } | address |
| device<> & | device |
| device<> & | device |
| uint8_t | idx |
| struct { | |
| class buffer { | |
| } buffer | |
| unsigned int micro_frames = 0 | |
| } | isoc |
| std::recursive_mutex | start_stop_in_progress |
| start/stop operation in progress | |
| std::recursive_mutex | start_stop_in_progress |
| start/stop operation in progress | |
| struct { | |
| ::WINUSB_INTERFACE_HANDLE handle | |
| } | winusb |
|
inherited |
|
inherited |
|
stronginherited |
|
inline |
|
inlineoverride |
|
inlineinherited |
|
inlinevirtualinherited |
The default implementation is based on event<user> which is signalled when triggered via callback() from kernel. This is to achieve compatibility with Windows events. Its probably more adequate to overwrite callback() and do the work here if feasible.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineoverridevirtualnoexcept |
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.
Reimplemented from dx::object.
|
inlineoverridenoexceptinherited |
|
inlineoverridenoexceptinherited |
|
inline |
|
inlinenoexceptinherited |
|
pure virtualnoexceptinherited |
notification exception handler
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
|
inlineoverrideprotectedvirtualnoexceptinherited |
async IO thread control (required for Windows compatibility)
Reimplemented from dx::stream::control< stream::object< device<> > >.
|
inlineoverridevirtualnoexcept |
log object class information
< Bit D7 indicates a requirement for wMaxPacketSize packets.; D7: MaxPacketsOnly
< D1..0: Pitch Control; D3..2: Data Overrun Control; D5..4: Data Underrun Control; D7..6: Reserved. Must be set to 0.
< Indicates the units used for the wLockDelay field: 0: Undefined; 1: Milliseconds; 2: Decoded PCM samples; 3..255: Reserved
< Indicates the time it takes this endpoint to reliably lock its internal clock recovery circuitry. Units used depend on the value of the bLockDelayUnits field.
< Number of Embedded MIDI Jacks: n.
< ID of the n-th Embedded Jack that is associated with this endpoint.
Reimplemented from dx::stream::control< stream::object< device<> > >.
Reimplemented in dx::usb::stream::pipe< device_t, circular_t, stream_t >.
|
inlinevirtualinherited |
launch notification: object mounted and ready to use
|
inline |
synchronous USB write request
|
inline |
synchronous USB read request
|
inlineprotectedvirtualinherited |
virtual async callbacks
|
inlineoverridevirtualinherited |
Implements dx::abstract::event.
|
inlineoverridevirtualinherited |
Implements dx::abstract::event.
|
inlineinherited |
|
inlineinherited |
|
inlineoverridevirtualinherited |
async IO thread control
Reimplemented from dx::stream::control< stream::object< device<> > >.
|
inlinevirtualnoexceptinherited |
result indicates the amount of stopped start references
|
inlinevirtualnoexceptinherited |
result indicates the amount of stopped start references
|
inlineinherited |
standard request to pipe
|
inlineprotectedvirtualinherited |
|
inlineoverridevirtualinherited |
Implements dx::abstract::event.
|
inlineoverridevirtualinherited |
Implements dx::abstract::event.
|
inlineinherited |
wait with duration timeout returns true: signalled false: timed out
|
inlineinherited |
wait with duration timeout returns true: signalled false: timed out
| struct { ... } dx::usb::platform::pipe< device<>, interface >::address |
| const usb::endpoint::attributes& dx::usb::pipe< device_t >::attributes = reinterpret_cast<const struct usb::endpoint::attributes&>(bmAttributes) |
|
inherited |
| class { ... } ::buffer dx::usb::platform::pipe< device<>, interface >::buffer |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
protectedinherited |
|
inherited |
| struct { ... } dx::usb::platform::pipe< device<>, interface >::isoc |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
start/stop operation in progress
|
protectedinherited |
start/stop operation in progress
|
inherited |
|
inherited |
| struct { ... } dx::usb::platform::pipe< device<>, interface >::winusb |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |