2020-03-11 01:58:06 +00:00
|
|
|
#pragma once
|
|
|
|
typedef void(*usbhotplug_callback)(bool isleft, void* userdata);
|
|
|
|
|
|
|
|
class IUsb
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~IUsb() {}
|
|
|
|
virtual bool open() = 0;
|
2021-07-11 08:19:57 +00:00
|
|
|
virtual void set_usbhotplug_callback(usbhotplug_callback callback=0,void* userdata=0)=0;
|
2020-03-11 01:58:06 +00:00
|
|
|
virtual bool close() = 0;
|
|
|
|
virtual bool is_open() = 0;
|
|
|
|
virtual bool is_connected() = 0;
|
|
|
|
virtual void set_timeout(int timeout) = 0;
|
|
|
|
virtual int read_bulk(void* data, int len) = 0;
|
|
|
|
virtual int write_bulk(void* data, int len) = 0;
|
|
|
|
virtual int read_int(void* data, int len) = 0;
|
|
|
|
virtual int control_msg(int rtype, int req, int value, int index, int len, void* data) = 0;
|
|
|
|
};
|