mirror of http://192.168.1.51:8099/lmh188/twain3.0
38 lines
960 B
C
38 lines
960 B
C
|
#pragma once
|
|||
|
#include "IUsb.h"
|
|||
|
#include <memory>
|
|||
|
#include <list>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
class CCyUSBDevice;
|
|||
|
|
|||
|
class CyUsbList {
|
|||
|
public:
|
|||
|
static std::list<std::shared_ptr<IUsb>> find_all();
|
|||
|
static std::list<std::shared_ptr<IUsb>> find_vid_pid(int vid, int pid);
|
|||
|
};
|
|||
|
|
|||
|
class CyUsbEx :
|
|||
|
public IUsb
|
|||
|
{
|
|||
|
public:
|
|||
|
CyUsbEx(int index);
|
|||
|
// ͨ<><CDA8> IUsb <20>̳<EFBFBD>
|
|||
|
virtual bool open() override;
|
|||
|
virtual bool close() override;
|
|||
|
virtual bool is_open() override;
|
|||
|
virtual bool is_connected() override;
|
|||
|
virtual void set_timeout(int timeout) override;
|
|||
|
virtual int read_bulk(void* data, int len) override;
|
|||
|
virtual int write_bulk(void* data, int len) override;
|
|||
|
virtual int read_int(void* data, int len) override;
|
|||
|
virtual int control_msg(int rtype, int req, int value, int index, int len, void* data) override;
|
|||
|
virtual void set_usbhotplug_callback(usbhotplug_callback callback = NULL, void* userdata = NULL) override;
|
|||
|
|
|||
|
private:
|
|||
|
std::shared_ptr<CCyUSBDevice> m_usb;
|
|||
|
int m_index;
|
|||
|
int m_timeout;
|
|||
|
};
|