2022-12-08 10:10:19 +00:00
|
|
|
|
#include"test_base.h"
|
|
|
|
|
#include<string>
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <windows.h>
|
|
|
|
|
#include <map>
|
|
|
|
|
#include <iostream>
|
2022-12-14 06:58:06 +00:00
|
|
|
|
#include "huagao/hgscanner_error.h"
|
2022-12-08 10:10:19 +00:00
|
|
|
|
|
|
|
|
|
static struct Test_Map
|
|
|
|
|
{
|
|
|
|
|
const wchar_t* name; //test-1
|
|
|
|
|
const wchar_t* title; //"<22><>б<EFBFBD><D0B1><EFBFBD><EFBFBD>"
|
|
|
|
|
const int ver;
|
|
|
|
|
io_code num;
|
2022-12-12 02:33:25 +00:00
|
|
|
|
|
2022-12-08 10:10:19 +00:00
|
|
|
|
}Test_Map_NO[] =
|
|
|
|
|
{
|
2022-12-12 02:33:25 +00:00
|
|
|
|
{HGPDTTOOLDB_NAME_DIAL_SWITCH ,HGPDTTOOLDB_TITLE_DIAL_SWITCH ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_ROCKER_SWITCH ,HGPDTTOOLDB_TITLE_ROCKER_SWITCH ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_BOOT_STATUS ,HGPDTTOOLDB_TITLE_BOOT_STATUS ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_LCD_DISPLAY ,HGPDTTOOLDB_TITLE_LCD_DISPLAY ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_KEY_FUNCTION ,HGPDTTOOLDB_TITLE_KEY_FUNCTION ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_COUNTING_MODE ,HGPDTTOOLDB_TITLE_COUNTING_MODE ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_CIS_ORIGINAL_IMAGE,HGPDTTOOLDB_TITLE_CIS_ORIGINAL_IMAGE ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_HOST_FAN ,HGPDTTOOLDB_TITLE_HOST_FAN ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_LED_LIGHT ,HGPDTTOOLDB_TITLE_LED_LIGHT ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_RESET ,HGPDTTOOLDB_TITLE_RESET ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_PAPER_FEED ,HGPDTTOOLDB_TITLE_PAPER_FEED ,0,IO_CTRL_CODE_BASE}, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{HGPDTTOOLDB_NAME_SCANNING_SENSOR ,HGPDTTOOLDB_TITLE_SCANNING_SENSOR ,0,IO_CTRL_CODE_BASE},//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{HGPDTTOOLDB_NAME_PLACE_CORRECTION_PAPER,HGPDTTOOLDB_TITLE_PLACE_CORRECTION_PAPER ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_AUTO_FLAT_FIELD ,HGPDTTOOLDB_TITLE_AUTO_FLAT_FIELD ,0,IO_CTRL_CODE_BASE},//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{HGPDTTOOLDB_NAME_IMAGE_QUALITY ,HGPDTTOOLDB_TITLE_IMAGE_QUALITY ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_COLORCARD_IMAGEING_QUALITY ,HGPDTTOOLDB_TITLE_COLORCARD_IMAGEING_QUALITY ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_COLORCARD_BIAS_IMAGEING_QUALITY ,HGPDTTOOLDB_TITLE_COLORCARD_BIAS_IMAGEING_QUALITY ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_CLARITY_QUALITY ,HGPDTTOOLDB_TITLE_CLARITY_QUALITY ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_DISTORTION ,HGPDTTOOLDB_TITLE_DISTORTION ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_SEPARATER_MOTOR ,HGPDTTOOLDB_TITLE_SEPARATER_MOTOR ,0,IO_CTRL_CODE_BASE},
|
2022-12-08 10:10:19 +00:00
|
|
|
|
},
|
|
|
|
|
Test_Map_Bool[]
|
|
|
|
|
{
|
2022-12-12 02:33:25 +00:00
|
|
|
|
{HGPDTTOOLDB_NAME_CLEAR_PAPER_PATH ,HGPDTTOOLDB_TITLE_CLEAR_PAPER_PATH ,0,IO_CTRL_CODE_GET_CLEAN_PAPER_ROAD},
|
|
|
|
|
{HGPDTTOOLDB_NAME_SKEW_DETECTION ,HGPDTTOOLDB_TITLE_SKEW_DETECTION ,0,IO_CTRL_CODE_SET_SKEW_CHECK},
|
|
|
|
|
|
|
|
|
|
{HGPDTTOOLDB_NAME_ULTRASONIC_MODULE ,HGPDTTOOLDB_TITLE_ULTRASONIC_MODULE ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_COVER_SENSOR ,HGPDTTOOLDB_TITLE_COVER_SENSOR ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_REBOOT_DEVICE ,HGPDTTOOLDB_TITLE_REBOOT_DEVICE ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_MECH_PAPER_FEEDING_INCLINATION,HGPDTTOOLDB_TITLE_MECH_PAPER_FEEDING_INCLINATION ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_CLEAR_ROLLER_COUNT ,HGPDTTOOLDB_TITLE_CLEAR_ROLLER_COUNT,0,IO_CTRL_CODE_SET_CLEAR_ROLLER_COUNT},
|
2022-12-08 10:10:19 +00:00
|
|
|
|
},
|
|
|
|
|
Test_Map_String[]
|
|
|
|
|
{
|
2022-12-12 02:33:25 +00:00
|
|
|
|
|
|
|
|
|
{HGPDTTOOLDB_NAME_CLEAR_ROLLER_COUNT ,HGPDTTOOLDB_TITLE_CLEAR_ROLLER_COUNT,0,IO_CTRL_CODE_SET_CLEAR_ROLLER_COUNT},
|
2022-12-08 10:10:19 +00:00
|
|
|
|
},
|
|
|
|
|
Test_Map_Int[]
|
|
|
|
|
{
|
2022-12-12 02:33:25 +00:00
|
|
|
|
{HGPDTTOOLDB_NAME_PAPER_SEPARATION_STRENGTH ,HGPDTTOOLDB_TITLE_PAPER_SEPARATION_STRENGTH,0,IO_CTRL_CODE_SET_FEEDMODE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_CONFIGURE_SPEED_MODE ,HGPDTTOOLDB_TITLE_CONFIGURE_SPEED_MODE ,0,IO_CTRL_CODE_BASE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_DORMANCY ,HGPDTTOOLDB_TITLE_DORMANCY ,0,IO_CTRL_CODE_SET_POWER_LEVEL},
|
|
|
|
|
{HGPDTTOOLDB_NAME_SKEW_GEAR ,HGPDTTOOLDB_TITLE_SKEW_GEAR,0,IO_CTRL_CODE_SET_SKEW_CHECK_VAL},
|
|
|
|
|
{HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST_1 ,HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_1,0,IO_CTRL_CODE_TEST_SINGLE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST_2 ,HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_2,0,IO_CTRL_CODE_TEST_SINGLE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST_3 ,HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_3,0,IO_CTRL_CODE_TEST_SINGLE},
|
|
|
|
|
{HGPDTTOOLDB_NAME_PRESSUER_TEST ,HGPDTTOOLDB_TITLE_PRESSUER_TEST ,0,IO_CTRL_CODE_BASE},
|
2022-12-08 10:10:19 +00:00
|
|
|
|
};
|
|
|
|
|
//test
|
2022-12-14 06:58:06 +00:00
|
|
|
|
static std::string jsontext1("{\"1\":{\"name\":\"test-8\",\"ver\":1}}");
|
2022-12-08 10:10:19 +00:00
|
|
|
|
|
|
|
|
|
int sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param)
|
|
|
|
|
{
|
|
|
|
|
switch (code)
|
|
|
|
|
{
|
|
|
|
|
case SANE_EVENT_DEVICE_ARRIVED:
|
|
|
|
|
{
|
|
|
|
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SANE_EVENT_DEVICE_LEFT:
|
|
|
|
|
{
|
|
|
|
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SANE_EVENT_WORKING:
|
|
|
|
|
{
|
|
|
|
|
std::string str = (char*)data;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SANE_EVENT_SCAN_FINISHED:
|
|
|
|
|
{
|
|
|
|
|
std::string str = (char*)data;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SANE_EVENT_STATUS:
|
|
|
|
|
{
|
|
|
|
|
std::string str = (char*)data;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SANE_EVENT_ERROR:
|
|
|
|
|
{
|
|
|
|
|
std::string str = (char*)data;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SANE_EVENT_IMAGE_OK:
|
|
|
|
|
{
|
|
|
|
|
SANE_Image* sane_img = (SANE_Image*)data;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
int str_to_wchar(std::string str, wchar_t* s, size_t* strlen)
|
|
|
|
|
{
|
|
|
|
|
if (str.empty())
|
|
|
|
|
return ERROR_INSUFFICIENT_BUFFER;
|
|
|
|
|
|
|
|
|
|
size_t size = str.length();
|
|
|
|
|
int len = 0;
|
|
|
|
|
len = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0);
|
|
|
|
|
if (*strlen < len)
|
|
|
|
|
{
|
|
|
|
|
*strlen = len;
|
|
|
|
|
return ERROR_INSUFFICIENT_BUFFER;
|
|
|
|
|
}
|
|
|
|
|
MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, s, len);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
int get_json_config_file()
|
|
|
|
|
{
|
|
|
|
|
int len = 0;
|
|
|
|
|
char exePath[256];
|
|
|
|
|
char* buf = NULL;
|
|
|
|
|
GetModuleFileNameA(NULL, exePath, 255);
|
|
|
|
|
(strrchr(exePath, '\\'))[1] = 0; //ȥ<><C8A5>ִ<EFBFBD>е<EFBFBD><D0B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
strcat(exePath, "DLLs\\G302.hsc");
|
|
|
|
|
FILE* fp = fopen(exePath, "rb");
|
|
|
|
|
if (fp == NULL)
|
|
|
|
|
{
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
fseek(fp, 0, SEEK_END);
|
|
|
|
|
len = ftell(fp);
|
|
|
|
|
fseek(fp, 0, SEEK_SET);
|
|
|
|
|
buf = new char[len];
|
|
|
|
|
if (!buf)
|
|
|
|
|
{
|
|
|
|
|
fclose(fp);
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
memset(buf, 0, len);
|
|
|
|
|
fread(buf, len, 1, fp);
|
|
|
|
|
fclose(fp);
|
|
|
|
|
std::cout << buf << std::endl;
|
|
|
|
|
}
|
|
|
|
|
int func_test_init(void* init)
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
int func_test_get_list(wchar_t* buf, size_t* len)
|
|
|
|
|
{
|
2022-12-14 06:58:06 +00:00
|
|
|
|
return str_to_wchar(jsontext1, buf, len);
|
2022-12-08 10:10:19 +00:00
|
|
|
|
}
|
|
|
|
|
int func_test_go(const wchar_t* name, const wchar_t* oper, ui_helper* helper)
|
|
|
|
|
{
|
|
|
|
|
if (!name || !oper || !helper)
|
|
|
|
|
{
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
helper->add_ref();
|
|
|
|
|
helper->register_sane_callback(sane_ex_callback, NULL);
|
|
|
|
|
|
|
|
|
|
bool flag = false;
|
|
|
|
|
wchar_t* des = NULL;
|
|
|
|
|
int ret = 0;
|
2022-12-12 02:33:25 +00:00
|
|
|
|
size_t map_bool_len = sizeof(Test_Map_Bool) / sizeof(Test_Map_Bool[0]);
|
|
|
|
|
size_t map_str_len = sizeof(Test_Map_String) / sizeof(Test_Map_String[0]);
|
|
|
|
|
size_t map_int_len = sizeof(Test_Map_Int) / sizeof(Test_Map_Int[0]);
|
2022-12-08 10:10:19 +00:00
|
|
|
|
ui_helper::test_event ev = ui_helper::TEST_EVENT_TIPS; //<2F><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TEST_EVENT_TIPS<50><53><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TEST_EVENT_RESULT
|
|
|
|
|
|
2022-12-12 02:33:25 +00:00
|
|
|
|
for (size_t i = 0; i < map_bool_len + map_str_len + map_int_len; i++)
|
2022-12-08 10:10:19 +00:00
|
|
|
|
{
|
|
|
|
|
des = (wchar_t*)Test_Map_Bool[i].title;
|
|
|
|
|
if (wcscmp(name, Test_Map_Bool[i].name) == 0) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2>ᴫ<EFBFBD><E1B4AB><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
SANE_Bool map_bool = true;
|
|
|
|
|
unsigned int len = sizeof(SANE_Bool);
|
|
|
|
|
ret = helper->io_control(Test_Map_Bool[i].num,&map_bool, &len);
|
|
|
|
|
if (ret == SCANNER_ERR_OK)
|
|
|
|
|
{
|
|
|
|
|
ev = ui_helper::TEST_EVENT_RESULT;
|
|
|
|
|
helper->test_callback(Test_Map_Bool[i].name, ev, des, true);
|
|
|
|
|
map_bool = false;
|
|
|
|
|
ret = helper->io_control(Test_Map_Bool[i].num, &map_bool, &len);
|
|
|
|
|
|
|
|
|
|
return SCANNER_ERR_OK;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if(wcscmp(name, Test_Map_String[i].name) == 0)
|
|
|
|
|
{
|
|
|
|
|
if (wcscmp(name, HGPDTTOOLDB_NAME_PAPER_SEPARATION_STRENGTH) == 0)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return SCANNER_ERR_OK;
|
|
|
|
|
}
|
2022-12-12 02:33:25 +00:00
|
|
|
|
else if (wcscmp(name, Test_Map_Int[i].name) == 0)
|
2022-12-08 10:10:19 +00:00
|
|
|
|
{
|
|
|
|
|
return SCANNER_ERR_OK;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
helper->release();
|
|
|
|
|
helper->unregister_sane_callback(sane_ex_callback);
|
|
|
|
|
return SCANNER_ERR_OK;
|
|
|
|
|
}
|
|
|
|
|
int func_test_uninit(void* uninit)
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-14 06:58:06 +00:00
|
|
|
|
int main11()
|
2022-12-08 10:10:19 +00:00
|
|
|
|
{
|
2022-12-14 06:58:06 +00:00
|
|
|
|
/*get_json_config_file();
|
2022-12-08 10:10:19 +00:00
|
|
|
|
int ret = 0;
|
|
|
|
|
wchar_t* str_wchar = NULL;
|
|
|
|
|
size_t len = 0;
|
|
|
|
|
ret = func_test_get_list(str_wchar, &len);
|
|
|
|
|
if (ret == ERROR_INSUFFICIENT_BUFFER)
|
|
|
|
|
{
|
|
|
|
|
str_wchar = new wchar_t[len];
|
|
|
|
|
ret = func_test_get_list(str_wchar, &len);
|
|
|
|
|
}
|
2022-12-14 06:58:06 +00:00
|
|
|
|
ret = func_test_go(L"test-5",L"start",NULL);*/
|
2022-12-08 10:10:19 +00:00
|
|
|
|
//std::wcout << str_wchar << std::endl;
|
2022-12-14 06:58:06 +00:00
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
parameter* ui_helper::get_user_input(data_from from, value_type type, const wchar_t* title, const wchar_t* desc = NULL)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
int ui_helper::register_sane_callback(sane_callback cb, void* param)
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
int ui_helper::unregister_sane_callback(sane_callback cb)
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
int ui_helper::io_control(unsigned long code, void* data, unsigned* len)
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
void ui_helper::test_callback(const wchar_t* name/*test name*/, test_event ev, void* data, size_t flag)
|
|
|
|
|
{
|
|
|
|
|
|
2022-12-08 10:10:19 +00:00
|
|
|
|
}
|