#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 void SetRatio(int tyepe, int ration) = 0; virtual void GetRatio(int type, int& ratio) = 0; virtual void Reboot() = 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 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 bool Updata(std::string filename, std::function func) = 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; };