86 lines
1.5 KiB
C++
86 lines
1.5 KiB
C++
#pragma once
|
|
#include <memory>
|
|
#include <vector>
|
|
#include <string>
|
|
#include <queue>
|
|
#include <Windows.h>
|
|
#include "MutexEx.h"
|
|
#include "jpeglib.h"
|
|
#include <time.h>
|
|
#include <mutex>
|
|
#include <thread>
|
|
#include "ImageMatQueue.h"
|
|
#include "PublicFunc.h"
|
|
#include "scn_config.h"
|
|
|
|
|
|
enum tagDevState
|
|
{
|
|
DEV_STOP = -1,
|
|
DEV_ISRUNNING,
|
|
DEV_WRONG
|
|
};
|
|
|
|
typedef enum tagDevState DevState, PDevState;
|
|
|
|
enum tagEventIndex
|
|
{
|
|
EVENT_IMAGE,
|
|
EVENT_NUM
|
|
};
|
|
|
|
class DiscardBlank;
|
|
class CImageApply;
|
|
|
|
class IGScan
|
|
{
|
|
public:
|
|
virtual ~IGScan()=0 {};
|
|
|
|
virtual void open(int vid, int pid) = 0;;
|
|
virtual int aquire_image(cv::Mat& image) = 0;
|
|
virtual BOOL IsConnected() = 0;
|
|
virtual std::string GetFWVersion() = 0;
|
|
virtual std::string GetSerialNum() = 0;
|
|
virtual bool is_scan() = 0;
|
|
virtual BOOL Get_Scanner_PaperOn() = 0;
|
|
virtual void config_params(SFreeImage& params) = 0;
|
|
virtual void Scanner_StartScan(UINT16 count) = 0;
|
|
virtual void Stop_scan() = 0;
|
|
virtual void ResetScanner() =0;
|
|
virtual bool Get_IsImageQueueEmpty() = 0;
|
|
virtual void reset() = 0;
|
|
|
|
virtual void setdecodepixtype(int twpixtype)= 0;
|
|
virtual UINT32 get_ErrorCode() = 0;
|
|
virtual void Set_ErrorCode(UINT32 value) = 0;
|
|
};
|
|
|
|
|
|
class IUsb;
|
|
|
|
class GScn_Drv
|
|
{
|
|
public:
|
|
GScn_Drv();
|
|
virtual ~GScn_Drv();
|
|
|
|
protected:
|
|
volatile UINT32 Error_Code;
|
|
|
|
cv::Mat popMat();
|
|
void pushMat(JpegBuffer& data);
|
|
|
|
|
|
void trim(std::string &s);
|
|
volatile int devState;
|
|
ImageMatQueue m_pImages;
|
|
|
|
std::mutex m_Locker;
|
|
std::mutex m_imgLocker;
|
|
std::string fwVersion;
|
|
std::string SerialNum;
|
|
int pixType;
|
|
};
|
|
|
|
void DoEvents(); |