Public Member Functions | Private Member Functions | Private Attributes | List of all members
librealsense::platform::usb_messenger_winusb Class Reference

#include <messenger-winusb.h>

Inheritance diagram for librealsense::platform::usb_messenger_winusb:
Inheritance graph
[legend]

Public Member Functions

virtual usb_status bulk_transfer (const rs_usb_endpoint &endpoint, uint8_t *buffer, uint32_t length, uint32_t &transferred, uint32_t timeout_ms) override
 
virtual usb_status cancel_request (const rs_usb_request &request) override
 
virtual usb_status control_transfer (int request_type, int request, int value, int index, uint8_t *buffer, uint32_t length, uint32_t &transferred, uint32_t timeout_ms) override
 
virtual rs_usb_request create_request (rs_usb_endpoint endpoint) override
 
virtual usb_status reset_endpoint (const rs_usb_endpoint &endpoint, uint32_t timeout_ms) override
 
virtual usb_status submit_request (const rs_usb_request &request) override
 
 usb_messenger_winusb (const std::shared_ptr< usb_device_winusb > device, std::shared_ptr< handle_winusb > handle)
 
virtual ~usb_messenger_winusb ()
 
- Public Member Functions inherited from librealsense::platform::usb_messenger
virtual ~usb_messenger ()=default
 

Private Member Functions

std::shared_ptr< dispatcherget_dispatcher (uint8_t endpoint)
 
usb_status set_timeout_policy (WINUSB_INTERFACE_HANDLE handle, uint8_t endpoint, uint32_t timeout_ms)
 

Private Attributes

std::shared_ptr< usb_device_winusb_device
 
std::map< uint8_t, std::shared_ptr< dispatcher > > _dispatchers
 
std::shared_ptr< handle_winusb_handle
 
unsigned long _in_out_pipe_timeout_ms = 7000
 
std::mutex _mutex
 

Detailed Description

Definition at line 23 of file messenger-winusb.h.

Constructor & Destructor Documentation

librealsense::platform::usb_messenger_winusb::usb_messenger_winusb ( const std::shared_ptr< usb_device_winusb device,
std::shared_ptr< handle_winusb handle 
)

Definition at line 27 of file messenger-winusb.cpp.

librealsense::platform::usb_messenger_winusb::~usb_messenger_winusb ( )
virtual

Definition at line 34 of file messenger-winusb.cpp.

Member Function Documentation

usb_status librealsense::platform::usb_messenger_winusb::bulk_transfer ( const rs_usb_endpoint endpoint,
uint8_t buffer,
uint32_t  length,
uint32_t transferred,
uint32_t  timeout_ms 
)
overridevirtual

Implements librealsense::platform::usb_messenger.

Definition at line 84 of file messenger-winusb.cpp.

usb_status librealsense::platform::usb_messenger_winusb::cancel_request ( const rs_usb_request request)
overridevirtual

Implements librealsense::platform::usb_messenger.

Definition at line 162 of file messenger-winusb.cpp.

usb_status librealsense::platform::usb_messenger_winusb::control_transfer ( int  request_type,
int  request,
int  value,
int  index,
uint8_t buffer,
uint32_t  length,
uint32_t transferred,
uint32_t  timeout_ms 
)
overridevirtual

Implements librealsense::platform::usb_messenger.

Definition at line 43 of file messenger-winusb.cpp.

rs_usb_request librealsense::platform::usb_messenger_winusb::create_request ( rs_usb_endpoint  endpoint)
overridevirtual

Implements librealsense::platform::usb_messenger.

Definition at line 123 of file messenger-winusb.cpp.

std::shared_ptr< dispatcher > librealsense::platform::usb_messenger_winusb::get_dispatcher ( uint8_t  endpoint)
private

Definition at line 174 of file messenger-winusb.cpp.

usb_status librealsense::platform::usb_messenger_winusb::reset_endpoint ( const rs_usb_endpoint endpoint,
uint32_t  timeout_ms 
)
overridevirtual

Implements librealsense::platform::usb_messenger.

Definition at line 71 of file messenger-winusb.cpp.

usb_status librealsense::platform::usb_messenger_winusb::set_timeout_policy ( WINUSB_INTERFACE_HANDLE  handle,
uint8_t  endpoint,
uint32_t  timeout_ms 
)
private

Definition at line 109 of file messenger-winusb.cpp.

usb_status librealsense::platform::usb_messenger_winusb::submit_request ( const rs_usb_request request)
overridevirtual

Implements librealsense::platform::usb_messenger.

Definition at line 129 of file messenger-winusb.cpp.

Member Data Documentation

std::shared_ptr<usb_device_winusb> librealsense::platform::usb_messenger_winusb::_device
private

Definition at line 44 of file messenger-winusb.h.

std::map<uint8_t,std::shared_ptr<dispatcher> > librealsense::platform::usb_messenger_winusb::_dispatchers
private

Definition at line 45 of file messenger-winusb.h.

std::shared_ptr<handle_winusb> librealsense::platform::usb_messenger_winusb::_handle
private

Definition at line 43 of file messenger-winusb.h.

unsigned long librealsense::platform::usb_messenger_winusb::_in_out_pipe_timeout_ms = 7000
private

Definition at line 40 of file messenger-winusb.h.

std::mutex librealsense::platform::usb_messenger_winusb::_mutex
private

Definition at line 42 of file messenger-winusb.h.


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


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:39