#pragma once #include #include #include "commondef.h" #include "BlockingQueue.h" #include "fsmstate.h" class IImageHandler; class IScanner { public: virtual ~IScanner(){} virtual void try_scan(const std::string encodehexstr) = 0; virtual void configparam(HGScanConfig config)=0; virtual void start_scan()=0; virtual void stop_scan()=0; virtual int count()=0; virtual int mode()=0; virtual void put(ScanEvent evt)=0; virtual bool is_runscan()=0; virtual void set_imagehandler(std::shared_ptr handler = nullptr)=0; virtual void clear_error()=0; virtual bool paper_ready()=0; virtual bool get_keeplastpaper()=0; virtual void set_motorboardcallback(MotorBoardGlue glue)=0; virtual void set_imgprocparams(HGImgProcParms parmas)=0; virtual void test_autocorrect(int colormode)=0; virtual void test_cap(HGScanConfig config)=0; virtual bool set_hgimgconfig(GScanCap config)=0; virtual void add_scansever(HGIntInfo event)=0; virtual void set_sleeptime(int val)=0; virtual int get_sleeptime()=0; virtual void resettime()=0; virtual int get_sleepstatus()=0; virtual void set_sleepstatus(bool off)=0; virtual int getimageprocedone()=0; virtual void set_paprent(void* parent)=0; virtual bool getpaperon()=0; virtual int getmbstatus()=0; virtual void setfeedmode(int value)=0; virtual void settrayposition(int value)=0; virtual std::string getmbversion()=0; virtual void clean_paper_road() = 0; virtual void single_correct(std::uint32_t mode) = 0; virtual void set_sensor_param(int type,uint32_t val) =0; virtual std::uint32_t get_fpga_version() = 0; virtual std::uint32_t get_ultrasonic_version() = 0; };