huago-corrcet_tools/HuaGoCorrect/IScanner.h

77 lines
2.5 KiB
C++

#pragma once
#include "ImageMatQueue.h"
#include "IUsb.h"
#include "commondef.h"
#include <functional>
class IScanner
{
public:
virtual ~IScanner() {};
virtual void open(int vid, int pid, int index)=0;
virtual int aquire_image(std::string& image, int num)=0;
virtual bool IsConnected() = 0;
virtual std::string GetFWVersion() = 0;
virtual void SetFWVersion() = 0;
virtual std::string GetSerialNum() = 0;
virtual void SetSerialNum(std::string serial) = 0;
virtual std::string GetMbVersion() = 0;
virtual std::string GetIpAddr() = 0;
virtual std::string GetKernelVersion() =0;
virtual void SetRatio(int tyepe, int ration,int dpi=0) = 0;
virtual void GetRatio(int type, int& ratio,int dpi=0) = 0;
virtual void Reboot(bool loader=false) = 0;
virtual void PowerOff() = 0;
virtual bool is_scan() = 0;
virtual bool Get_Scanner_PaperOn() = 0;
virtual void Config_Scanner(HGScanConfig config) = 0;
virtual void Scanner_StartScan(unsigned short count) = 0;
virtual void Stop_scan() = 0;
virtual void ResetScanner() = 0;
virtual bool Get_IsImageQueueEmpty() = 0;
virtual void reset() = 0;
virtual void run() = 0;
virtual void ActiveteUSB() = 0;
virtual int GetScanNum() = 0;
virtual int GetRollerNum() = 0;
virtual void ClrRollerNum() = 0;
virtual void ClrScanNum() = 0;
virtual void SendFlatData(CorrectParam param, int index) = 0;
virtual CaptureParams GetFlatData() = 0;
virtual void StartFlat(bool iscolor) = 0;
virtual void DevStateChange() = 0;
virtual int getMatSum() = 0;
virtual void close() = 0;
virtual void GetExpose(int& Aside, int& Bside) = 0;
virtual void SetExpose(int aside, int bside) = 0;
virtual void GetSptime(int type, int& time) = 0;
virtual void SetSptime(int type, int time) = 0;
virtual void GetSleepTime(int& sleeptime) = 0;
virtual void SetSleepTime(int sleeptime) = 0;
virtual void GetFlatMaxBright(bool iscolor, unsigned int& val) = 0;
virtual void SetFlatMaxBright(bool iscolor, unsigned int val) = 0;
virtual bool Updata(std::string filename, std::function<void(long, long)> func) = 0;
virtual void SetFlatCallback(std::function<void(std::string)> func) = 0;
virtual void GetSpeedMode(int& speedmode,bool get) = 0 ;
virtual void GetOrSetVIDPID(int& value, bool get) = 0;
virtual std::string GetSysInfo() = 0;
void SetPath(std::string csFilePath)
{
csPath = csFilePath;
}
std::string GetPath()
{
return csPath;
}
std::shared_ptr<IUsb> m_usb;
//protected:
ImageMatQueue m_pImages;
HWND h;
std::string csPath;
unsigned short VID;
unsigned short PID;
unsigned short CPU;
unsigned short Driver_type;
};