#include "IUsb.hpp" #include "UsbTypes.hpp" #pragma once namespace ptprnt::driver { class Usb : public IUsb { public: Usb(); ~Usb() override; std::optional> getDevices() override; std::optional open(UsbDevice) override; bool close(UsbDevice) override; private: libusb_device** mLibUsbDevs; // TODO: This should be a std::map with handles & locking on access std::vector mDevices{}; }; } // namespace ptprnt::driver