sane回调函数中,仅仅将扫描相关的事件下发到dll

This commit is contained in:
luoliangyi 2022-12-27 09:55:42 +08:00
parent c447a13017
commit f5bfdf0468
2 changed files with 13 additions and 15 deletions

View File

@ -82,9 +82,10 @@ MainWindow::~MainWindow()
sane_exit();
HGPdtToolDb_DestroyUserMgr(m_pdtToolDbuserMgr);
m_pdtToolDbuserMgr = NULL;
m_pdtToolDbuserMgr = nullptr;
HGBase_DestroyLock(m_lock);
m_lock = nullptr;
delete ui;
}
@ -232,29 +233,26 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne
{
SANE_Device_Ex* sane_dev = (SANE_Device_Ex*)data;
emit p->sane_dev_arrive(sane_dev->name);
return 0;
}
else if (SANE_EVENT_DEVICE_LEFT == code)
{
SANE_Device* sane_dev = (SANE_Device*)data;
emit p->sane_dev_remove(sane_dev->name);
return 0;
}
if (!hdev)
if (code == SANE_EVENT_STATUS || code == SANE_EVENT_ERROR || code == SANE_EVENT_WORKING
|| code == SANE_EVENT_IMAGE_OK || code == SANE_EVENT_SCAN_FINISHED)
{
return -1;
HGBase_EnterLock(p->m_lock);
Form_mainInterface* interface = p->FindInterface(hdev);
if (nullptr != interface)
{
if (nullptr != interface->getScanner() && nullptr != interface->getScanner()->cb_)
interface->getScanner()->cb_(hdev, code, data, len, interface->getScanner());
}
HGBase_LeaveLock(p->m_lock);
}
HGBase_EnterLock(p->m_lock);
Form_mainInterface* interface = p->FindInterface(hdev);
if (nullptr != interface)
{
if (nullptr != interface->getScanner() && nullptr != interface->getScanner()->cb_)
interface->getScanner()->cb_(hdev, code, data, len, interface->getScanner());
}
HGBase_LeaveLock(p->m_lock);
return 0;
}

View File

@ -87,7 +87,7 @@ HGResult HGPdtToolDbUserMgrImpl::Create(const HGChar* host, HGUShort port, const
}
unsigned int timeout = 2;
mysql_options(sql, MYSQL_OPT_CONNECT_TIMEOUT, (const char*)&timeout);
mysql_options(sql, MYSQL_OPT_CONNECT_TIMEOUT, &timeout);
if (NULL == mysql_real_connect(sql, host, "huago", "huago", "huago_production_tool", port, NULL, 0))
{