Implemented printer status retrieval

This commit is contained in:
2023-08-27 09:29:37 +02:00
parent 5644c84c83
commit f467a39919
9 changed files with 202 additions and 9 deletions

View File

@@ -4,6 +4,8 @@
#include <cstdint>
#include <optional>
#include <string>
#include <vector>
#include "libusb.h"
#include "libusbwrap/LibUsbTypes.hpp"
@@ -22,14 +24,25 @@ enum class Speed {
class IUsbDevice {
public:
virtual Error open() = 0;
virtual bool open() = 0;
virtual void close() = 0;
// libusb wrappers
virtual bool detachKernelDriver(int interfaceNo) = 0;
virtual bool claimInterface(int interfaceNo) = 0;
virtual bool releaseInterface(int interfaceNo) = 0;
virtual bool bulkTransfer(uint8_t endpoint, std::vector<uint8_t>& data, int* tx,
unsigned int timeout) = 0;
// getters
virtual const uint16_t getVid() = 0;
virtual const uint16_t getPid() = 0;
virtual const device::Speed getSpeed() = 0;
virtual const uint8_t getBusNumber() = 0;
virtual const uint8_t getPortNumber() = 0;
// errors
virtual const Error getLastError() = 0;
virtual const std::string getLastErrorString() = 0;
};
} // namespace libusbwrap