twain3/device/GScanVirtual.h

49 lines
1.6 KiB
C
Raw Normal View History

#pragma once
#include "GScan.h"
#include <memory>
class GScanVirtual : public IGScan
{
public:
GScanVirtual();
virtual ~GScanVirtual();
// ͨ<><CDA8> IGScan <20>̳<EFBFBD>
virtual void open(int vid, int pid) override;
virtual int aquire_bmpdata(std::vector<unsigned char>& bmpdata);
virtual bool IsConnected() override;
virtual std::string GetFWVersion(int mode) override;
virtual std::string GetSerialNum(int mode) override;
virtual bool is_scan() override;
virtual bool Get_Scanner_PaperOn() override;
virtual void config_params(GScanCap& params,int mode) override;
virtual void Scanner_StartScan(UINT32 count,int mode) override;
void clear_hwerror() override;
virtual void Stop_scan() override;
virtual void ResetScanner() override;
virtual bool Get_IsImageQueueEmpty() override;
virtual void reset() override;
virtual void setdecodepixtype(int twpixtype) override;
virtual UINT32 get_ErrorCode() override;
virtual void Set_ErrorCode(UINT32 value) override;
virtual int get_scanned_num() override;
private:
DWORD usbmain();
void Pop_Image();
std::shared_ptr<IUsb> m_usb;
std::unique_ptr<std::thread> m_threadUsb;
// ͨ<><CDA8> IGScan <20>̳<EFBFBD>
virtual bool close() override;
virtual bool is_open() override;
virtual void setusbreport_callback(usbreport_callback callback = 0, void* usrdata = 0) override;
virtual int get_image_front_info(ImageInfo* info) override;
virtual int aquire_image(cv::Mat& mat, int& bppinfo) override;
virtual int get_roller_num() override;
virtual void clr_roller_num() override;
virtual int get_sleep_time() override;
virtual void set_sleep_time(int time) override;
virtual bool clr_hardware_cache() override;
};