SANE属性管理移文件到独立文件夹
This commit is contained in:
parent
4126436934
commit
5c17d26304
|
@ -6,14 +6,13 @@
|
|||
#include "scanner_setting.h"
|
||||
#include "scanner_manager.h"
|
||||
#include "../../sdk/json/gb_json.h"
|
||||
#include "device_opt.h"
|
||||
#include "user-opt/device_opt.h"
|
||||
#include <string.h>
|
||||
|
||||
#if defined(WIN32) || defined(_WIN64)
|
||||
#include <direct.h>
|
||||
#endif
|
||||
|
||||
#define DYN_JSON_BETWEEN_PAPER_AND_DPI
|
||||
|
||||
#if defined(WIN32) || defined(_WIN64)
|
||||
static int load_dll(const wchar_t* path_dll, HMODULE* dll)
|
||||
|
@ -199,7 +198,7 @@ hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io, i
|
|||
if (!mem.empty())
|
||||
{
|
||||
memory_size_ = std::stoi(mem);
|
||||
utils::to_log(LOG_LEVEL_DEBUG, "Get the config file --->memory_size_ set is :%lld", memory_size_);
|
||||
utils::to_log(LOG_LEVEL_DEBUG, "Get the config file --->memory_size_ set is :%lld\n", memory_size_);
|
||||
}
|
||||
getl = GetPrivateProfileStringA("cpu", "advanced", "", strbuf, sizeof(strbuf) - 1, config_file.c_str());
|
||||
strbuf[getl] = 0;
|
||||
|
@ -207,7 +206,7 @@ hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io, i
|
|||
if (!adv.empty())
|
||||
{
|
||||
isx86_Advan_ = adv == "0" ? false : true;
|
||||
utils::to_log(LOG_LEVEL_DEBUG, "Get the config file --->isx86_Advan_ set is :%d", isx86_Advan_);
|
||||
utils::to_log(LOG_LEVEL_DEBUG, "Get the config file --->isx86_Advan_ set is :%d\n", isx86_Advan_);
|
||||
}
|
||||
|
||||
if (utils::create_folder(final_path_.c_str()))
|
||||
|
|
|
@ -166,13 +166,13 @@ hg_scanner_mgr::hg_scanner_mgr() : same_ind_(1), user_(""), pwd_(""), cf_name(""
|
|||
}
|
||||
hg_scanner_mgr::~hg_scanner_mgr()
|
||||
{
|
||||
usb_manager::instance()->register_hotplug(nullptr, nullptr);
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex_dev_);
|
||||
for (auto& v : online_devices_)
|
||||
libusb_unref_device(v.dev);
|
||||
online_devices_.clear();
|
||||
}
|
||||
|
||||
usb_manager::clear();
|
||||
}
|
||||
|
||||
|
|
|
@ -234,9 +234,18 @@ void usb_manager::notify_usb_event(PNPDEV& pd, bool* retry)
|
|||
, HIBYTE(ud.ver), LOBYTE(ud.ver) / 0x10, ud.pid, ud.vid, evstr.c_str());
|
||||
if (ev != USB_EVENT_NULL)
|
||||
{
|
||||
usb_event_handler cb(&usb_manager::usb_event_handle);
|
||||
void* cbp = nullptr;
|
||||
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(usb_cb_locker_);
|
||||
cb = usb_cb_;
|
||||
cbp = usb_cb_param_;
|
||||
}
|
||||
|
||||
if (!retry)
|
||||
retry = &re_try;
|
||||
usb_cb_(ev, pd.dev, ud.vid, ud.pid, HIBYTE(ud.ver), LOBYTE(ud.ver) / 0x10, retry, usb_cb_param_);
|
||||
cb(ev, pd.dev, ud.vid, ud.pid, HIBYTE(ud.ver), LOBYTE(ud.ver) / 0x10, retry, cbp);
|
||||
}
|
||||
libusb_unref_device(pd.dev); // response for libusb_ref_device in usb_manager::usb_pnp_callback
|
||||
}
|
||||
|
@ -526,11 +535,18 @@ void usb_manager::enum_endpoints(libusb_device* device, USBTRANSENDP* endp)
|
|||
|
||||
int usb_manager::register_hotplug(usb_event_handler cb, void* user)
|
||||
{
|
||||
if (cb)
|
||||
usb_cb_ = cb;
|
||||
else
|
||||
usb_cb_ = &usb_manager::usb_event_handle;
|
||||
usb_cb_param_ = user;
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(usb_cb_locker_);
|
||||
if (cb)
|
||||
usb_cb_ = cb;
|
||||
else
|
||||
{
|
||||
usb_cb_ = &usb_manager::usb_event_handle;
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
usb_cb_param_ = user;
|
||||
}
|
||||
|
||||
int ret = register_usb_pnp();
|
||||
if (ret != LIBUSB_SUCCESS)
|
||||
|
|
|
@ -62,6 +62,7 @@ class usb_manager
|
|||
{
|
||||
volatile bool run_;
|
||||
usb_event_handler usb_cb_;
|
||||
std::mutex usb_cb_locker_;
|
||||
libusb_context* context_; // declare my own context, avoid sharing the default context with other processes
|
||||
int status_;
|
||||
void* usb_cb_param_;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include <hginclude/utils.h>
|
||||
#include <huagao/hgscanner_error.h>
|
||||
#include "../../sdk/hginclude/huagaoxxx_warraper_ex.h"
|
||||
#include "../../../sdk/hginclude/huagaoxxx_warraper_ex.h"
|
||||
#include <lang/app_language.h>
|
||||
|
||||
|
Loading…
Reference in New Issue