From 79852bd9928ae99a6eede10e4fc91127cda2aab2 Mon Sep 17 00:00:00 2001 From: 13038267101 Date: Mon, 3 Apr 2023 09:00:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=83=A8=E5=88=86=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E8=B5=B0sane=E6=B5=81=E7=A8=8B=EF=BC=8C=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E7=B4=AB=E5=85=89=E6=97=A5=E5=BF=97=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/hg_scanner.cpp | 61 +++++++++++++++++++++++++++++++++++ hgdriver/hgdev/hg_scanner.h | 7 +++- hgdriver/wrapper/hg_log.cpp | 2 +- 3 files changed, 68 insertions(+), 2 deletions(-) diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index 2117fcc..39e1192 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -607,6 +607,13 @@ void hg_scanner::init_setting_func_map(void) setting_map_[SANE_STD_OPT_NAME_FOLD_TYPE] = &hg_scanner::setting_fold_type; setting_map_[SANE_STD_OPT_NAME_COLOR_CORRECTION] = &hg_scanner::setting_color_correction; setting_map_[SANE_STD_OPT_NAME_WAIT_SCAN_EXIT] = &hg_scanner::setting_auto_paper_scan_exit_time; + + setting_map_[SANE_STD_OPT_NAME_DEVICE_SERIAL_NO] = &hg_scanner::setting_get_dev_sn; + setting_map_[SANE_STD_OPT_NAME_FIRMWARE_VERSION] = &hg_scanner::setting_get_dev_fmver; + setting_map_[SANE_STD_OPT_NAME_DEVICE_IP_ADDR] = &hg_scanner::setting_get_dev_ip; + setting_map_[SANE_STD_OPT_NAME_ROLLER_COUNT] = &hg_scanner::setting_get_roller_count; + setting_map_[SANE_STD_OPT_NAME_TOTAL_COUNT] = &hg_scanner::setting_get_history_count; + setting_map_[SANE_STD_OPT_NAME_GET_DEVS_L0G] = &hg_scanner::setting_get_devs_log; } std::string hg_scanner::setting_name_from(const char* n_or_id, int* id) { @@ -2269,6 +2276,60 @@ int hg_scanner::setting_auto_paper_scan_exit_time(void* data) //VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "set paper_scan_exit_time from (%d)min to (%s)min = %d\n", is_auto_paper_scan_exit_time, (char*)data); return 0; } +int hg_scanner::setting_get_dev_sn(void* data) +{ + if (!data) + { + return SCANNER_ERR_NO_DATA; + } + strcpy((char*)data, get_serial_num().c_str()); + return SCANNER_ERR_OK; +} +int hg_scanner::setting_get_dev_fmver(void* data) +{ + if (!data) + { + return SCANNER_ERR_NO_DATA; + } + strcpy((char*)data, get_firmware_version().c_str()); + return SCANNER_ERR_OK; +} +int hg_scanner::setting_get_dev_ip(void* data) +{ + if (!data) + { + return SCANNER_ERR_NO_DATA; + } + strcpy((char*)data, get_ip().c_str()); + return SCANNER_ERR_OK; +} +int hg_scanner::setting_get_roller_count(void* data) +{ + if (!data) + { + return SCANNER_ERR_NO_DATA; + } + return get_roller_num(*((int*)data)); +} +int hg_scanner::setting_get_history_count(void* data) +{ + if (!data) + { + return SCANNER_ERR_NO_DATA; + } + return get_history_scan_count(*((int*)data)); +} +int hg_scanner::setting_get_devs_log(void* data) +{ + if (!data) + { + return SCANNER_ERR_NO_DATA; + } + string str; + get_device_log(str); + strcpy((char*)data, str.c_str()); + return 0; +} int hg_scanner::on_color_mode_changed(int& color_mode) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; diff --git a/hgdriver/hgdev/hg_scanner.h b/hgdriver/hgdev/hg_scanner.h index 3fa4ac4..122b5f1 100644 --- a/hgdriver/hgdev/hg_scanner.h +++ b/hgdriver/hgdev/hg_scanner.h @@ -256,7 +256,12 @@ protected: int setting_fold_type(void* data); int setting_color_correction(void* data); int setting_auto_paper_scan_exit_time(void* data); - + int setting_get_dev_sn(void* data); + int setting_get_dev_fmver(void* data); + int setting_get_dev_ip(void* data); + int setting_get_roller_count(void* data); + int setting_get_history_count(void* data); + int setting_get_devs_log(void* data); virtual void on_device_reconnected(void); diff --git a/hgdriver/wrapper/hg_log.cpp b/hgdriver/wrapper/hg_log.cpp index d9f0714..d7af8d7 100644 --- a/hgdriver/wrapper/hg_log.cpp +++ b/hgdriver/wrapper/hg_log.cpp @@ -647,7 +647,7 @@ extern "C" #elif defined(OEM_ZHONGJING) home += "MicrotekScan"; #elif defined(OEM_ZIGUANG) - home += "UnisScan"; + home += "UniScan"; #else home += "HuaGoScan"; #endif;