dxd - dynax driver framework 2.1.0d49
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::usb::platform::interface Class Reference

#include <dx_usb_device_platform.h>

+ Inheritance diagram for dx::usb::platform::interface:
+ Collaboration diagram for dx::usb::platform::interface:

Public Member Functions

interfaceclose (bool force=false) noexcept
 
interfaceclose (bool=false) noexcept
 
uint8_t index () const
 
uint8_t index () const
 
 interface (handle handle, const dx::log &log={})
 
interfaceopen ()
 opens the USB intreface for exclusice access
 
 operator interface_t ** () const
 
interface_t * operator-> () const
 
 operator::WINUSB_INTERFACE_HANDLE () const
 
virtual interfaceoperator[] (uint8_t setting)
 
virtual interfaceoperator[] (unsigned char setting)
 
uint8_t setting () const
 
virtual uint8_t setting () const
 
virtual ~interface () noexcept
 

Public Attributes

 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 () noexcept
 

Protected Attributes

dx::log log {}
 
std::atomic< int > opened {}
 
handle winusb
 

Member Typedef Documentation

◆ handle [1/2]

typedef io_object_t dx::usb::platform::interface::handle
protected

◆ handle [2/2]

typedef ::WINUSB_INTERFACE_HANDLE dx::usb::platform::interface::handle
protected

Constructor & Destructor Documentation

◆ interface() [1/2]

dx::usb::platform::interface::interface ( io_object_t io_object,
const dx::log & log = {} )
inlineprotected

create and attach runloop source of asynchronous interface operation

◆ ~interface() [1/2]

virtual dx::usb::platform::interface::~interface ( )
inlineprotectedvirtualnoexcept
+ Here is the call graph for this function:

◆ interface() [2/2]

dx::usb::platform::interface::interface ( handle handle,
const dx::log & log = {} )
inline

◆ ~interface() [2/2]

virtual dx::usb::platform::interface::~interface ( )
inlinevirtualnoexcept
+ Here is the call graph for this function:

Member Function Documentation

◆ close() [1/2]

interface & dx::usb::platform::interface::close ( bool force = false)
inlinenoexcept
+ Here is the caller graph for this function:

◆ close() [2/2]

interface & dx::usb::platform::interface::close ( bool = false)
inlinenoexcept

◆ index() [1/2]

uint8_t dx::usb::platform::interface::index ( ) const
inline

◆ index() [2/2]

uint8_t dx::usb::platform::interface::index ( ) const
inline

◆ initialize() [1/2]

template<typename interface_t >
void dx::cf::interface< interface_t >::initialize ( ::IOCFPlugInInterface ** cf_interface,
::CFUUIDRef uuid )
inlineprotectedinherited

◆ initialize() [2/2]

template<typename interface_t >
void dx::cf::interface< interface_t >::initialize ( io_object_t io_object,
::CFUUIDRef type,
::CFUUIDRef uuid )
protectedinherited

◆ open()

interface & dx::usb::platform::interface::open ( )
inline

opens the USB intreface for exclusice access

◆ operator interface_t **()

template<typename interface_t >
dx::cf::interface< interface_t >::operator interface_t ** ( ) const
inlineinherited

◆ operator->()

template<typename interface_t >
interface_t * dx::cf::interface< interface_t >::operator-> ( ) const
inlineinherited

◆ operator::WINUSB_INTERFACE_HANDLE()

dx::usb::platform::interface::operator::WINUSB_INTERFACE_HANDLE ( ) const
inline

◆ operator[]() [1/2]

virtual interface & dx::usb::platform::interface::operator[] ( uint8_t setting)
inlinevirtual

Reimplemented in dx::usb::interface.

◆ operator[]() [2/2]

virtual interface & dx::usb::platform::interface::operator[] ( unsigned char setting)
inlinevirtual

Reimplemented in dx::usb::interface.

◆ setting() [1/2]

uint8_t dx::usb::platform::interface::setting ( ) const
inline

◆ setting() [2/2]

virtual uint8_t dx::usb::platform::interface::setting ( ) const
inlinevirtual

Member Data Documentation

◆ log

dx::log dx::usb::platform::interface::log {}
protected

◆ opened

std::atomic<int> dx::usb::platform::interface::opened {}
protected

◆ runloop

dx::usb::platform::interface::runloop

◆ winusb

handle dx::usb::platform::interface::winusb
protected

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

(c) copyright 2009 dynamic acoustics e.U. generated on Sat Mar 2 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.