Re-implemented USB device enumeration with new structure
This commit is contained in:
@@ -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
|
Reference in New Issue
Block a user