#pragma once #include "sane/sane_ex.h" #include "ui_helper.h" #include "test_base.h" #include class Form_mainInterface; class Form_BurnMode; class Dialog_InputSerialNum; class hgscanner :public ui_helper { public: hgscanner(Form_mainInterface *form, Form_BurnMode *burnMode, Dialog_InputSerialNum *inputSnDlg, SANE_Handle h); ~hgscanner(); virtual parameter* get_user_input(data_from from, value_type type, const wchar_t* title, const wchar_t* desc = NULL); virtual void test_callback(const wchar_t* name/*test name*/, test_event ev, void* data, size_t flag); virtual int register_sane_callback(sane_callback cb, void* param); virtual int unregister_sane_callback(sane_callback cb); virtual int io_control(unsigned long code, void* data, unsigned* len); sane_callback cb_; void setDistortValue(double value); private: union VIDPID { struct { unsigned short VID; unsigned short PID; }; unsigned int Value; }; private: class Form_mainInterface *m_interface; class Form_BurnMode *m_burnMode; class Dialog_InputSerialNum *m_inputSnDlg; SANE_Handle devHandle_; private: double m_distortValue; VIDPID m_vidPid; int m_sleepTime; int m_speedMode; QString m_devSn; QString m_devFw; QString m_devModel; int m_cpu; int m_disk; };