回调函数调整
This commit is contained in:
parent
b11649ea9e
commit
d3a3560afa
|
@ -2,6 +2,7 @@
|
|||
#include "sane/sane_ex.h"
|
||||
#include "ui_helper.h"
|
||||
#include "test_base.h"
|
||||
|
||||
class hgscanner :public ui_helper
|
||||
{
|
||||
public:
|
||||
|
@ -12,8 +13,7 @@ public:
|
|||
virtual int register_sane_callback(sane_callback cb, void* param);
|
||||
virtual int unregister_sane_callback(sane_callback cb);
|
||||
virtual int io_control(unsigned long code, void* data, unsigned* len);
|
||||
static int sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param);
|
||||
sane_callback cb_;
|
||||
sane_callback cb_;
|
||||
private:
|
||||
SANE_Handle devHandle_;
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#include "dialog_changepwd.h"
|
||||
#include "dialog_accountmanage.h"
|
||||
#include "dialog_uploadcfgfile.h"
|
||||
#include "hgscanner.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
|
@ -60,6 +59,7 @@ void MainWindow::Init()
|
|||
|
||||
SANE_Int v = 0;
|
||||
sane_init_ex(&v, sane_ex_callback, this);
|
||||
Sleep(500);
|
||||
}
|
||||
|
||||
void MainWindow::Deinit()
|
||||
|
@ -94,7 +94,7 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne
|
|||
{
|
||||
(void)hdev;
|
||||
(void)len;
|
||||
MainWindow *p = (MainWindow *)param;
|
||||
MainWindow* p = (MainWindow*)param;
|
||||
switch (code)
|
||||
{
|
||||
case SANE_EVENT_DEVICE_ARRIVED:
|
||||
|
@ -111,6 +111,11 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne
|
|||
break;
|
||||
}
|
||||
|
||||
if (!hdev)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
p->hg->cb_(hdev, code, data, len, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -135,12 +140,12 @@ std::vector<std::string> MainWindow::getDevices()
|
|||
|
||||
void MainWindow::on_sane_dev_arrive(QString devName)
|
||||
{
|
||||
// SANE_Status ret = sane_open(devName.toStdString().c_str(), &m_handle);
|
||||
SANE_Status ret = sane_open(devName.toStdString().c_str(), &m_handle);
|
||||
|
||||
// ui_helper* helper;
|
||||
// hgscanner* hg = new hgscanner(m_handle);
|
||||
// helper = dynamic_cast<hgscanner*>(hg);
|
||||
// func_test_go(L"test-31", L"null", helper);
|
||||
ui_helper* helper;
|
||||
this->hg = new hgscanner(m_handle);
|
||||
helper = dynamic_cast<hgscanner*>(this->hg);
|
||||
func_test_go(L"test-31", L"null", helper);
|
||||
}
|
||||
|
||||
void MainWindow::on_sane_dev_remove(QString devName)
|
||||
|
@ -269,8 +274,8 @@ QString MainWindow::getLogInfo(HGResult ret)
|
|||
return str;
|
||||
}
|
||||
|
||||
void MainWindow::on_act_upload_triggered()
|
||||
{
|
||||
Dialog_uploadCfgFile dlg(m_pdtToolDbuserMgr, this);
|
||||
dlg.exec();
|
||||
}
|
||||
//void MainWindow::on_act_upload_triggered()
|
||||
//{
|
||||
// Dialog_uploadCfgFile dlg(m_pdtToolDbuserMgr, this);
|
||||
// dlg.exec();
|
||||
//}
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
#include <QSplitter>
|
||||
#include "HGPdtToolDb.h"
|
||||
#include "sane/sane_ex.h"
|
||||
#include "hgscanner.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui { class MainWindow; }
|
||||
QT_END_NAMESPACE
|
||||
|
@ -20,13 +22,13 @@ class MainWindow : public QMainWindow
|
|||
public:
|
||||
MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow();
|
||||
|
||||
hgscanner* hg;
|
||||
void Init();
|
||||
void Deinit();
|
||||
static QString getLogInfo(HGResult ret);
|
||||
bool isExitApp();
|
||||
|
||||
|
||||
|
||||
private:
|
||||
static void HGAPI PdtToolDbUserEventFunc(HGPdtToolDbUserMgr userMgr, HGUInt event, HGPointer param);
|
||||
static int sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param);
|
||||
|
@ -56,7 +58,7 @@ private slots:
|
|||
|
||||
void on_act_close_triggered();
|
||||
|
||||
void on_act_upload_triggered();
|
||||
/* void on_act_upload_triggered();*/
|
||||
|
||||
private:
|
||||
QSplitter *m_top_splitter;
|
||||
|
|
|
@ -151,13 +151,13 @@
|
|||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>../include/x64;../../../sdk/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>../include/x64;../../../sdk/include;C:\Users\modehua\Desktop\sane\code_app\build\windows\x64\Debug;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
<AdditionalLibraryDirectories>../lib/x64;../../../sdk/lib/win/x64/Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>../lib/x64;../../../sdk/lib/win/x64/Release;C:\Users\modehua\Desktop\sane\code_production\db\HGPdtToolDb\x64\Debug;C:\Users\modehua\Desktop\sane\code_app\build\windows\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libmysql.lib;HGBase.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ModuleDefinitionFile>HGPdtToolDb.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
|
|
Loading…
Reference in New Issue