#include "../../sdk/hginclude/huagaoxxx_warraper_ex.h" //#include "../../sdk/hginclude/hg_log.h" #include "../hgdev/scanner_manager.h" #include #ifdef WIN32 #define VERSION_YEAR 2022 #define VERSION_BUILD 10129 #endif #define VERSION_MAJOR 1 #define VERSION_MINOR 0 #define MAKE_VERSION(a, b, c, d) \ ((((unsigned long long)(a) & 0x0ffff) << 48) \ | (((unsigned long long)(b) & 0x0ffff) << 32) \ | (((unsigned long long)(c) & 0x0ffff) << 16) \ | (((unsigned long long)(d) & 0x0ffff) << 0)) extern "C" { scanner_err hg_scanner_initialize(sane_callback callback, void* reserve) { // hg_log::init(LOG_TYPE_CONSOLE); hg_scanner_mgr::set_version(VERSION_MAJOR, VERSION_MINOR, VERSION_YEAR, VERSION_BUILD - 10000); hg_scanner_mgr::instance(callback); return SCANNER_ERR_OK; } void hg_scanner_uninitialize(void) { hg_scanner_mgr::clear(); } unsigned long long hg_scanner_get_version(void) { return MAKE_VERSION(VERSION_MAJOR, VERSION_MINOR, VERSION_YEAR, VERSION_BUILD - 10000); } scanner_err hg_scanner_enum(ScannerInfo* scanner_list, long* count, bool local_only) { return hg_scanner_mgr::instance()->hg_scanner_enum(scanner_list, count, local_only); } scanner_err hg_scanner_open(scanner_handle* h, const char* name, bool shared, const char* user, const char* pwd, const char* check, char* rsc) { return hg_scanner_mgr::instance()->hg_scanner_open(h, name, shared, user, pwd, check, rsc); } scanner_err hg_scanner_close(scanner_handle h, bool force) { return hg_scanner_mgr::instance()->hg_scanner_close(h, force); } scanner_err hg_scanner_get_parameter(scanner_handle h, unsigned param_no, char* data, long* len) { return hg_scanner_mgr::instance()->hg_scanner_get_parameter(h, param_no, data, len); } scanner_err hg_scanner_set_parameter(scanner_handle h, unsigned param_no, void* data, long len) { return hg_scanner_mgr::instance()->hg_scanner_set_parameter(h, param_no, data, len); } scanner_err hg_scanner_start(scanner_handle h, void* async_event, int num) { return hg_scanner_mgr::instance()->hg_scanner_start(h, async_event, num); } scanner_err hg_scanner_stop(scanner_handle h) { return hg_scanner_mgr::instance()->hg_scanner_stop(h); } scanner_err hg_scanner_get_img_info(scanner_handle h, SANE_Parameters* bmi, long len) { return hg_scanner_mgr::instance()->hg_scanner_get_img_info(h, bmi, len); } scanner_err hg_scanner_read_img_data(scanner_handle h, unsigned char* data, long* len) { return hg_scanner_mgr::instance()->hg_scanner_read_img_data(h, data, len); } scanner_err hg_scanner_get_status(scanner_handle h, int setstutas) { return hg_scanner_mgr::instance()->hg_scanner_get_status(h, setstutas); } scanner_err hg_scanner_reset(scanner_handle h) { return hg_scanner_mgr::instance()->hg_scanner_reset(h); } scanner_err hg_scanner_control(scanner_handle h, unsigned long code, void* data, unsigned* len) { return hg_scanner_mgr::instance()->hg_scanner_control(h, code, data, len); } }