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);
|
|
// ͨ¹ý IUsb ¼Ì³Ð
|
|
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;
|
|
};
|