Open Lighting Architecture: ola::usb::SyncronousLibUsbAdaptor Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Public Member Functions | List of all members
ola::usb::SyncronousLibUsbAdaptor Class Reference

## Detailed Description

A LibUsbAdaptor for use with Syncronous widgets.

When using syncronous mode, we don't have the requirement of interacting with a LibUsbThread.

Inheritance diagram for ola::usb::SyncronousLibUsbAdaptor:

## Public Member Functions
bool | OpenDevice (libusb_device *usb_device, libusb_device_handle **usb_handle)
| Open a libusb device.
bool | OpenDeviceAndClaimInterface (libusb_device *usb_device, int interface, libusb_device_handle **usb_handle)
| Open a libusb device and claim an interface.
void | Close (libusb_device_handle *usb_handle)
| Close a libusb handle.
Public Member Functions inherited from ola::usb::BaseLibUsbAdaptor
libusb_device * | RefDevice (libusb_device *dev)
| Wraps libusb_ref_device.
void | UnrefDevice (libusb_device *dev)
| Wraps libusb_unref_device.
int | SetConfiguration (libusb_device_handle *dev, int configuration)
| Wraps libusb_set_configuration.
int | ClaimInterface (libusb_device_handle *dev, int interface_number)
| Wraps libusb_claim_interface.
int | DetachKernelDriver (libusb_device_handle *dev, int interface_number)
| Detach a kernel driver.
int | GetDeviceDescriptor (libusb_device *dev, struct libusb_device_descriptor *descriptor)
| Wraps libusb_get_device_descriptor.
int | GetActiveConfigDescriptor (libusb_device *dev, struct libusb_config_descriptor **config)
| Wraps libusb_get_active_config_descriptor.
int | GetConfigDescriptor (libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config)
| Wraps libusb_get_config_descriptor.
void | FreeConfigDescriptor (struct libusb_config_descriptor *config)
| Wraps busb_free_config_descriptor.
bool | GetStringDescriptor (libusb_device_handle *usb_handle, uint8_t descriptor_index, std::string *data)
| Get the value of a string descriptor.
struct libusb_transfer * | AllocTransfer (int iso_packets)
| Wraps libusb_alloc_transfer.
void | FreeTransfer (struct libusb_transfer *transfer)
| Wraps libusb_free_transfer.
int | SubmitTransfer (struct libusb_transfer *transfer)
| Wraps libusb_submit_transfer.
int | CancelTransfer (struct libusb_transfer *transfer)
| Wraps libusb_cancel_transfer.
void | FillControlSetup (unsigned char *buffer, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint16_t wLength)
| Wraps libusb_fill_control_setup.
void | FillControlTransfer (struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char *buffer, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout)
| Wraps libusb_fill_control_transfer.
void | FillBulkTransfer (struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *buffer, int length, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout)
| Wraps libusb_fill_bulk_transfer.
void | FillInterruptTransfer (struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *buffer, int length, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout)
| Wraps libusb_fill_interrupt_transfer.
int | ControlTransfer (libusb_device_handle *dev_handle, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, uint16_t wLength, unsigned int timeout)
| Wraps libusb_control_transfer().
int | BulkTransfer (struct libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout)
| Wraps libusb_bulk_transfer.
int | InterruptTransfer (libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout)
| Wraps libusb_interrupt_transfer.
USBDeviceID | GetDeviceId (libusb_device *device) const
| Get the USBDeviceID for a device.

## Additional Inherited Members
Static Public Member Functions inherited from ola::usb::LibUsbAdaptor
static bool | Initialize (struct libusb_context **context)
| Initialize a new libusb context.
static bool | GetDeviceInfo (struct libusb_device *usb_device, const struct libusb_device_descriptor &device_descriptor, DeviceInformation *device_info)
| Fetch the manufacturer, product and serial strings from a device.
static bool | CheckManufacturer (const std::string &expected, const DeviceInformation &device_info)
| Check if the manufacturer string matches the expected value.
static bool | CheckProduct (const std::string &expected, const DeviceInformation &device_info)
| Check if the product string matches the expected value.
static bool | HotplugSupported ()
| Check if this platform supports hotplug.
static std::string | ErrorCodeToString (const int error_code)
| Try and convert an error code to a string.

## Member Function Documentation

## ◆ Close()

void ola::usb::SyncronousLibUsbAdaptor::Close | ( | libusb_device_handle * | usb_handle | ) |
| virtual

Close a libusb handle.

Parameters

  usb_handle | the handle to close.

Implements ola::usb::LibUsbAdaptor.

## ◆ OpenDevice()

bool ola::usb::SyncronousLibUsbAdaptor::OpenDevice | ( | libusb_device * | usb_device,
|  | libusb_device_handle ** | usb_handle )
| virtual

Open a libusb device.

Parameters

  | usb_device | The usb device to open.
  [out] | usb_handle | the new device handle.

Returns
  true if the device was opened, false otherwise.

Implements ola::usb::LibUsbAdaptor.

## ◆ OpenDeviceAndClaimInterface()

bool ola::usb::SyncronousLibUsbAdaptor::OpenDeviceAndClaimInterface | ( | libusb_device * | usb_device,
|  | int | interface,
|  | libusb_device_handle ** | usb_handle )
| virtual

Open a libusb device and claim an interface.

Parameters

  | usb_device | The usb device to open.
  | interface | the interface index to claim.
  [out] | usb_handle | the new device handle.

Returns
  true if the device was opened and the interface claimed, false otherwise.

Implements ola::usb::LibUsbAdaptor.

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

- libs/usb/LibUsbAdaptor.h
- libs/usb/LibUsbAdaptor.cpp