睡眠唤醒时的处理

This commit is contained in:
13038267101 2023-01-03 16:26:43 +08:00
parent 243c01e53c
commit 7db6c95d37
2 changed files with 14 additions and 1 deletions

View File

@ -3045,6 +3045,19 @@ int hg_scanner::reset(void)
}
int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
{
SANE_Bool devs_status = false;
int ret = get_scan_is_sleep(devs_status);
if (ret == SCANNER_ERR_OK)
{
if (!devs_status)
{
if (pid_ == 0x239 || pid_ == 0x402)
{
set_notify_sleep();
}
return SCANNER_ERR_DEVICE_SLEEPING;
}
}
if (code == IO_CTRL_CODE_RESTORE_SETTINGS)
{
int ret = invoke_setting_xxx(&hg_scanner::setting_restore, data);

View File

@ -106,7 +106,7 @@ public:
virtual int get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) override; //唤醒设备
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
virtual int set_devreboot(int data) override; //设置设备重启
virtual int set_devreboot(int data) override; //设置设备重启
virtual int set_devshtudown() override; //设置设备关机
virtual int set_scan_islock(SANE_Bool type) override; //设置设备是否锁定 /*/ type:0解锁1锁定*/
virtual int get_scan_islock(SANE_Bool& type) override; //获取设备是否锁定 /*/ type:0解锁1锁定*/