|
dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
|
the platform half of an interface: the IOUSBLib interface plugin, its exclusive open and the run loop its asynchronous completions arrive on More...
#include <dx_usb_platform_interface.h>
Classes | |
| class | runloop |
| the interface's own realtime run loop: every asynchronous completion of its pipes runs here, at a 125 µs timing policy More... | |
Public Member Functions | |
| interface& | close(bool force= false) noexcept |
| interface& | close(bool= false) noexcept |
| uint8_t | index() const |
| uint8_t | index() const |
| interface(handlehandle handlehandle, const dx::log& log= {}) | |
| interface& | open() |
| opens the USB intreface for exclusice access | |
| ::IOUSBInterfaceInterface650* | operator ->() const |
| operator ::IOUSBInterfaceInterface650**() const | |
| operator ::IOUSBInterfaceInterface650**() const | |
| operator ::WINUSB_INTERFACE_HANDLE() const | |
| virtual interface& | operator [](uint8_t setting) |
| virtual interface& | operator [](unsigned char setting) |
| uint8_t | setting() const |
| virtual uint8_t | setting() const |
| template<typename data_t> | |
| data_t | submit(const control& control) const |
| template<typename data_t> | |
| data_t | submit(const control& control, uint8_t idx= 0) const |
| template<typename data_t> | |
| interface& | submit(const request<data_t>& request) const |
| template<typename data_t> | |
| interface& | submit(const request<data_t>& request, uint8_t idx= 0) const |
| virtual | ~interface() noexcept |
Public Attributes | |
| dx::usb::platform::interface::runloop | runloop |
Protected Types | |
| typedef io_object_t | handle |
| typedef ::WINUSB_INTERFACE_HANDLE | handle |
Protected Member Functions | |
| void | initialize(::IOCFPlugInInterface** cf_interface, ::CFUUIDRef uuid) |
| void | initialize(io_object_t io_object, ::CFUUIDRef type, ::CFUUIDRef uuid) |
| interface(io_object_t io_object, const dx::log& log= {}) | |
| virtual | ~interface() |
Protected Attributes | |
| dx::log | log{} |
| std::atomic<int> | opened{} |
| handle | winusb |
the platform half of an interface: the IOUSBLib interface plugin, its exclusive open and the run loop its asynchronous completions arrive on
the platform half of an interface: its WinUSB handle and its path - WinUSB associates an interface with the handle it was opened through, so there is nothing else to hold
|
protected |
|
protected |
|
inlineprotected |
create USB interval related realtime runloop thread timing policy
create and attach runloop source of asynchronous interface operation
|
inlineprotectedvirtual |
|
inlinevirtualnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlineprotectedinherited |
|
protectedinherited |
|
inline |
opens the USB intreface for exclusice access
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
| dx::usb::platform::interface::runloop dx::usb::platform::interface::runloop |
|
protected |