#ifndef __DEVICE_USER_H__ #define __DEVICE_USER_H__ #include "base/HGDef.h" #include #if defined(HG_CMP_MSC) #include "twain_user/HGTwain.h" class DeviceUserMgr : public QObject { Q_OBJECT public: DeviceUserMgr(QWidget *wnd); ~DeviceUserMgr(); // 弹出设备选择对话框,选择twain源 class DeviceUser* OpenDeviceUser(); private: QWidget *m_wnd; HGTwainDSM m_twainDSM; }; class DeviceUser : public QObject { Q_OBJECT friend class DeviceUserMgr; DeviceUser(QWidget *wnd, HGTwainDS ds); public: ~DeviceUser(); // 获取设备名字 QString GetName(); // 弹出配置对话框 HGResult ShowSettingDlg(); // 弹出扫描对话框 HGResult StartScan(); HGResult StopScan(); HGResult GetDeviceCustomInfo(HGTwainDeviceCustomInfo *info); private: static void HGAPI DSCloseReqFunc(HGTwainDS ds, HGPointer param); static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param); signals: void newImage(void *image); void finishScan(); private: QWidget *m_wnd; HGTwainDS m_twainDS; }; #else #include "sane_user/HGSane.h" class DeviceUserMgr : public QObject { Q_OBJECT public: DeviceUserMgr(QWidget *wnd); ~DeviceUserMgr(); // 弹出设备选择对话框,选择设备 class DeviceUser* OpenDeviceUser(); private: QWidget *m_wnd; HGSaneManager m_saneMgr; }; class DeviceUser : public QObject { Q_OBJECT friend class DeviceUserMgr; DeviceUser(QWidget *wnd, HGSaneSource source, HGSaneDevice dev); public: ~DeviceUser(); // 获取设备名字 QString GetName(); // 弹出配置对话框 HGResult ShowSettingDlg(); // 弹出扫描对话框 HGResult StartScan(); HGResult StopScan(); HGResult GetDeviceCustomInfo(HGSaneCustomInfo *info); private: static void HGAPI DeviceImageFunc(HGSaneDevice dev, HGImage image, HGPointer param); signals: void newImage(void *image); void finishScan(); private: QWidget *m_wnd; HGSaneSource m_source; HGSaneDevice m_saneDev; }; #endif #endif /* __DEVICE_USER_H__ */