Re-implemented USB device enumeration with new structure

This commit is contained in:
2023-08-26 13:16:09 +02:00
parent 61e2352a3c
commit 779911e97e
8 changed files with 76 additions and 98 deletions

View File

@@ -1,11 +1,15 @@
#pragma once
#include <atomic>
#include <cstddef>
#include "libusb.h"
#include "libusbwrap/interface/IUsbDevice.hpp"
namespace libusbwrap {
class UsbDevice : public IUsbDevice {
public:
UsbDevice();
UsbDevice(libusb_context* ctx, libusb_device* dev);
~UsbDevice();
// delete copy ctor and assignment
@@ -21,5 +25,12 @@ class UsbDevice : public IUsbDevice {
const device::Speed getSpeed() override;
const uint8_t getBusNumber() override;
const uint8_t getPortNumber() override;
private:
libusb_context* mLibusbCtx{nullptr};
libusb_device* mLibusbDev{nullptr};
libusb_device_handle* mLibusbDevHandle{nullptr};
libusb_device_descriptor mLibusbDevDesc;
std::atomic<bool> mIsOpen = false;
};
} // namespace libusbwrap