code_app/app/scanner2/device_user.h

134 lines
2.9 KiB
C
Raw Normal View History

#ifndef __DEVICE_USER_H__
2023-05-04 06:55:26 +00:00
#define __DEVICE_USER_H__
#include "base/HGDef.h"
#include <QDialog>
#if defined (HG_CMP_MSC)
2023-05-04 06:55:26 +00:00
#include "twain_user/HGTwain.h"
class DeviceUserMgr : public QObject
{
Q_OBJECT
public:
DeviceUserMgr(QString password, QWidget *wnd);
2023-05-04 06:55:26 +00:00
~DeviceUserMgr();
// 弹出设备选择对话框选择twain源
class DeviceUser* OpenDeviceUser();
2023-05-30 11:11:24 +00:00
class DeviceUser* OpenDefaultDeviceUser();
2023-05-04 06:55:26 +00:00
private:
QWidget *m_wnd;
HGTwainDSM m_twainDSM;
QString m_password;
2023-05-04 06:55:26 +00:00
};
class DeviceUser : public QObject
{
Q_OBJECT
friend class DeviceUserMgr;
DeviceUser(QWidget *wnd, HGTwainDS ds, QString password);
2023-05-04 06:55:26 +00:00
public:
~DeviceUser();
// 获取设备名字
QString GetName();
// 弹出配置对话框
HGResult ShowSettingDlg();
// 弹出扫描对话框
HGResult StartScan();
HGResult StartSingleScan();
2023-05-04 06:55:26 +00:00
HGResult GetDeviceCustomInfo(HGTwainDeviceCustomInfo *info);
HGResult Login();
HGResult Logout();
HGResult ClearRollerCount();
2023-05-17 10:29:08 +00:00
QString GetDriverLog();
HGResult ClearDriverLog();
2023-05-17 10:29:08 +00:00
QString GetDeviceLog();
HGResult ClearDeviceLog();
2023-05-04 06:55:26 +00:00
private:
static void HGAPI DSEventFunc(HGTwainDS ds, HGUInt event, HGPointer param);
2023-05-04 06:55:26 +00:00
static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param);
signals:
void newImage(void *image);
void scanFinishEvent();
void scanWorkingEvent();
2023-05-04 06:55:26 +00:00
private:
QWidget *m_wnd;
HGTwainDS m_twainDS;
QString m_password;
2023-05-04 06:55:26 +00:00
};
#else
#include "sane_user/HGSane.h"
class DeviceUserMgr : public QObject
{
Q_OBJECT
public:
DeviceUserMgr(QString password, QWidget *wnd);
2023-05-04 06:55:26 +00:00
~DeviceUserMgr();
// 弹出设备选择对话框,选择设备
class DeviceUser* OpenDeviceUser();
2023-06-03 09:25:56 +00:00
class DeviceUser* OpenDefaultDeviceUser();
2023-05-04 06:55:26 +00:00
private:
QWidget *m_wnd;
QString m_password;
2023-05-04 06:55:26 +00:00
HGSaneManager m_saneMgr;
};
class DeviceUser : public QObject
{
Q_OBJECT
friend class DeviceUserMgr;
DeviceUser(QWidget *wnd, HGSaneSource source, HGSaneDevice dev, QString password);
2023-05-04 06:55:26 +00:00
public:
~DeviceUser();
// 获取设备名字
QString GetName();
// 弹出配置对话框
HGResult ShowSettingDlg();
// 弹出扫描对话框
HGResult StartScan();
HGResult StartSingleScan();
2023-05-20 10:06:05 +00:00
HGResult GetDeviceCustomInfo(HGSaneDeviceCustomInfo *info);
HGResult Login();
HGResult Logout();
HGResult ClearRollerCount();
2023-06-13 07:24:58 +00:00
int GetDeviceRollerLife();
2023-05-20 10:06:05 +00:00
QString GetDriverLog();
HGResult ClearDriverLog();
2023-05-20 10:06:05 +00:00
QString GetDeviceLog();
HGResult ClearDeviceLog();
2023-05-04 06:55:26 +00:00
private:
static void HGAPI DeviceEventFunc(HGSaneDevice dev, HGUInt event, HGPointer param);
2023-05-04 06:55:26 +00:00
static void HGAPI DeviceImageFunc(HGSaneDevice dev, HGImage image, HGPointer param);
signals:
void newImage(void *image);
2023-06-03 09:25:56 +00:00
void scanFinishEvent();
void scanWorkingEvent();
2023-05-04 06:55:26 +00:00
private:
QWidget *m_wnd;
HGSaneSource m_source;
HGSaneDevice m_saneDev;
QString m_password;
2023-05-04 06:55:26 +00:00
};
#endif
#endif /* __DEVICE_USER_H__ */