新增获取设置 设备型号

This commit is contained in:
13038267101 2023-03-20 12:11:00 +08:00
parent a43d8581d4
commit a09948b125
3 changed files with 52 additions and 1 deletions

View File

@ -99,6 +99,7 @@ public:
TEST_EVEB_GET_DEVICE_CONFIG_SLEEPTIME, //get sleeptime;data is (int*) ;flag is (bool)result,true - get pass
TEST_EVEB_GET_DEVICE_CONFIG_SN, //get sn ;data is (wchar*) ;flag is (bool)result,true - get pass
TEST_EVEB_GET_DEVICE_CONFIG_FW, //get fw ;data is (wchar*) ;flag is (bool)result,true - get pass
TEST_EVEB_GET_DEVICE_CONFIG_DEVS_MODEL, //get devs_model ;data is (wchar*) ;flag is (bool)result,true - get pass
};
virtual void test_callback(const wchar_t* name/*test name*/, test_event ev, void* data, size_t flag)=0 ;

View File

@ -643,6 +643,9 @@ public:
case WRITE_CAT_SERIALNUM:
ret = test_set_serial_num(cfg->val);
break;
case WRITE_CAT_DEVS_MODEL:
ret = test_set_devs_model (cfg->val);
break;
default:
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)L"协议未找到", false);
break;
@ -1397,9 +1400,55 @@ public:
}
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_FW, (void*)wstr.c_str(), true);
std::string devs_model;
unsigned int devs_len = 0;
l = 0;
wstr.clear();
ret = helper_->io_control(IO_CTRL_CODE_GET_DEVS_MODEL, &devs_model[0], &devs_len);
if (ret == SANE_STATUS_NO_MEM)
{
devs_model.resize(devs_len);
ret = helper_->io_control(IO_CTRL_CODE_GET_DEVS_MODEL, &devs_model[0], &devs_len);
}
ret = str_to_wchar(devs_model.c_str(), (wchar_t*)wstr.c_str(), &l);
if (ret == ERROR_INSUFFICIENT_BUFFER)
{
wstr.resize(l);
ret = str_to_wchar(devs_model.c_str(), (wchar_t*)wstr.c_str(), &l);
}
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_DEVS_MODEL, wstr.empty() ? (void*)L"获取设备类型失败" : (void*)wstr.c_str(), wstr.empty() ? false : true);
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)(L"配置获取完成"), true);
return ret;
}
/*设置设备型号*/
int test_set_devs_model(void* data)
{
if (!data)
{
return SCANNER_ERR_NO_DATA;
}
wchar_t* sc = (wchar_t*)data;
std::string str;
size_t len = 0;
int ret =wchar_to_char(str, sc, len);
if (ret == ERROR_INSUFFICIENT_BUFFER)
{
str.resize(len);
ret = wchar_to_char(str, sc, len);
}
if (str.empty())
{
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_DEVS_MODEL, wstr.empty() ? (void*)L"设置设备类型失败" : (void*)wstr.c_str(), wstr.empty() ? false : true);
return -1;
}
return helper_->io_control(IO_CTRL_CODE_SET_DEVS_MODEL, &str[0], str.size());
}
private:
};

View File

@ -199,7 +199,8 @@ enum write_cat
WRITE_CAT_VID_PID = 0, // val = (int*)
WRITE_CAT_SPEED, // val = (int*)
WRITE_CAT_SLEEP, // val = (int*)
WRITE_CAT_SERIALNUM // val = (char*)
WRITE_CAT_SERIALNUM, // val = (wchar_t*)
WRITE_CAT_DEVS_MODEL // val = (wchar_t*)
};
typedef struct _write_cfg