code_device/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp

101 lines
2.9 KiB
C++

#include "../../sdk/hginclude/huagaoxxx_warraper_ex.h"
//#include "../../sdk/hginclude/hg_log.h"
#include "../hgdev/scanner_manager.h"
#include <iostream>
#ifndef VERSION_MAJOR
#define VERSION_MAJOR 1
#define VERSION_MINOR 0
#define VERSION_YEAR 2022
#define VERSION_BUILD 10129
#endif
#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);
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);
}
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);
}
}