Files
MicroH7Board.Firmware/Dependencies/LFramework/Src/LFramework/USB/Host/IUsbService.h
T

28 lines
619 B
C++
Raw Normal View History

2025-05-13 02:03:18 +03:00
#pragma once
#include <string>
#include <cstdint>
#include <vector>
#include <functional>
namespace LFramework::USB {
struct UsbDeviceInfo {
std::uint16_t vid;
std::uint16_t pid;
std::string serialNumber;
std::string path;
};
class IUsbService {
public:
virtual ~IUsbService() = default;
virtual UsbDeviceInfo getUsbDeviceInfo(const std::string& path) = 0;
virtual std::vector<UsbDeviceInfo> enumerateDevices() = 0;
virtual bool startEventsListening(std::function<void()> deviceChangeCallback) = 0;
virtual void stopEventsListening() = 0;
};
IUsbService* createUsbService();
}