#pragma once #include "ImageMatQueue.h" #include "IUsb.h" #include "commondef.h" #include 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 func) = 0; virtual void SetFlatCallback(std::function 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 m_usb; //protected: ImageMatQueue m_pImages; HWND h; std::string csPath; unsigned short VID; unsigned short PID; };