websdk,将事件中携带的iden改为调用成功时的iden
This commit is contained in:
parent
dec98c1891
commit
f26ecbcc34
|
@ -67,8 +67,13 @@ namespace ver_2
|
||||||
m_sn.clear();
|
m_sn.clear();
|
||||||
m_devHandle = NULL;
|
m_devHandle = NULL;
|
||||||
m_devParams.clear();
|
m_devParams.clear();
|
||||||
|
m_initIden.clear();
|
||||||
|
m_initHaveIden = false;
|
||||||
|
m_scanIden.clear();
|
||||||
|
m_scanHaveIden = false;
|
||||||
m_scanBlankCheck = false;
|
m_scanBlankCheck = false;
|
||||||
m_scanTemp = false;
|
m_scanLocalSave = true;
|
||||||
|
m_scanGetBase64 = false;
|
||||||
m_scanning = false;
|
m_scanning = false;
|
||||||
m_scanEvent = NULL;
|
m_scanEvent = NULL;
|
||||||
m_dpi = 200;
|
m_dpi = 200;
|
||||||
|
@ -1333,7 +1338,7 @@ namespace ver_2
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ManagerV2::InitDevice(std::string& errInfo)
|
int ManagerV2::InitDevice(const std::string &iden, bool haveIden, std::string& errInfo)
|
||||||
{
|
{
|
||||||
errInfo = "错误";
|
errInfo = "错误";
|
||||||
|
|
||||||
|
@ -1343,9 +1348,14 @@ namespace ver_2
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_initIden = iden;
|
||||||
|
m_initHaveIden = haveIden;
|
||||||
|
|
||||||
SANE_Int version_code = 0;
|
SANE_Int version_code = 0;
|
||||||
if (SANE_STATUS_GOOD != sane_init_ex(&version_code, sane_ex_callback, this))
|
if (SANE_STATUS_GOOD != sane_init_ex(&version_code, sane_ex_callback, this))
|
||||||
{
|
{
|
||||||
|
m_initIden.clear();
|
||||||
|
m_initHaveIden = false;
|
||||||
errInfo = "初始化失败";
|
errInfo = "初始化失败";
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -1371,6 +1381,8 @@ namespace ver_2
|
||||||
m_devNameList.clear();
|
m_devNameList.clear();
|
||||||
m_initDevice = false;
|
m_initDevice = false;
|
||||||
|
|
||||||
|
m_initIden.clear();
|
||||||
|
m_initHaveIden = false;
|
||||||
errInfo.clear();
|
errInfo.clear();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1613,7 +1625,7 @@ namespace ver_2
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ManagerV2::StartScan(bool blankCheck, bool temp, std::string& errInfo)
|
int ManagerV2::StartScan(const std::string &iden, bool haveIden, bool blankCheck, bool localSave, bool getBase64, std::string& errInfo)
|
||||||
{
|
{
|
||||||
errInfo = "错误";
|
errInfo = "错误";
|
||||||
|
|
||||||
|
@ -1629,8 +1641,11 @@ namespace ver_2
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_scanIden = iden;
|
||||||
|
m_scanHaveIden = haveIden;
|
||||||
m_scanBlankCheck = blankCheck;
|
m_scanBlankCheck = blankCheck;
|
||||||
m_scanTemp = temp;
|
m_scanLocalSave = localSave;
|
||||||
|
m_scanGetBase64 = getBase64;
|
||||||
HGBase_CreateEvent(HGFALSE, HGFALSE, &m_scanEvent);
|
HGBase_CreateEvent(HGFALSE, HGFALSE, &m_scanEvent);
|
||||||
assert(NULL != m_scanEvent);
|
assert(NULL != m_scanEvent);
|
||||||
m_dpi = GetDpi();
|
m_dpi = GetDpi();
|
||||||
|
@ -1641,8 +1656,11 @@ namespace ver_2
|
||||||
errInfo = Utf8ToStdString(sane_strstatus(status));
|
errInfo = Utf8ToStdString(sane_strstatus(status));
|
||||||
HGBase_DestroyEvent(m_scanEvent);
|
HGBase_DestroyEvent(m_scanEvent);
|
||||||
m_scanEvent = NULL;
|
m_scanEvent = NULL;
|
||||||
|
m_scanIden.clear();
|
||||||
|
m_scanHaveIden = false;
|
||||||
m_scanBlankCheck = false;
|
m_scanBlankCheck = false;
|
||||||
m_scanTemp = false;
|
m_scanLocalSave = true;
|
||||||
|
m_scanGetBase64 = false;
|
||||||
m_dpi = 200;
|
m_dpi = 200;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -1669,8 +1687,11 @@ namespace ver_2
|
||||||
HGBase_WaitEvent(m_scanEvent);
|
HGBase_WaitEvent(m_scanEvent);
|
||||||
HGBase_DestroyEvent(m_scanEvent);
|
HGBase_DestroyEvent(m_scanEvent);
|
||||||
m_scanEvent = NULL;
|
m_scanEvent = NULL;
|
||||||
|
m_scanIden.clear();
|
||||||
|
m_scanHaveIden = false;
|
||||||
m_scanBlankCheck = false;
|
m_scanBlankCheck = false;
|
||||||
m_scanTemp = false;
|
m_scanLocalSave = true;
|
||||||
|
m_scanGetBase64 = false;
|
||||||
m_scanning = false;
|
m_scanning = false;
|
||||||
m_dpi = 200;
|
m_dpi = 200;
|
||||||
|
|
||||||
|
@ -4333,7 +4354,7 @@ namespace ver_2
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||||
{
|
{
|
||||||
WSUser::SaneEvent(SANEEVENT_ARRIVE, sane_dev->name, false, *iter);
|
WSUser::DbtEvent(p->m_initIden, p->m_initHaveIden, SANEEVENT_ARRIVE, sane_dev->name, false, *iter);
|
||||||
}
|
}
|
||||||
HGBase_LeaveLock(p->m_lock);
|
HGBase_LeaveLock(p->m_lock);
|
||||||
}
|
}
|
||||||
|
@ -4367,7 +4388,7 @@ namespace ver_2
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||||
{
|
{
|
||||||
WSUser::SaneEvent(SANEEVENT_REMOVE, sane_dev->name, false, *iter);
|
WSUser::DbtEvent(p->m_initIden, p->m_initHaveIden, SANEEVENT_REMOVE, sane_dev->name, false, *iter);
|
||||||
}
|
}
|
||||||
HGBase_LeaveLock(p->m_lock);
|
HGBase_LeaveLock(p->m_lock);
|
||||||
}
|
}
|
||||||
|
@ -4380,7 +4401,7 @@ namespace ver_2
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||||
{
|
{
|
||||||
WSUser::SaneEvent(SANEEVENT_WORKING, (const char*)data, false, *iter);
|
WSUser::SaneEvent(p->m_scanIden, p->m_scanHaveIden, SANEEVENT_WORKING, (const char*)data, false, *iter);
|
||||||
}
|
}
|
||||||
HGBase_LeaveLock(p->m_lock);
|
HGBase_LeaveLock(p->m_lock);
|
||||||
}
|
}
|
||||||
|
@ -4406,7 +4427,7 @@ namespace ver_2
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||||
{
|
{
|
||||||
WSUser::SaneEvent(SANEEVENT_FINISH, (const char*)data, (0 != *len), *iter);
|
WSUser::SaneEvent(p->m_scanIden, p->m_scanHaveIden, SANEEVENT_FINISH, (const char*)data, (0 != *len), *iter);
|
||||||
}
|
}
|
||||||
HGBase_LeaveLock(p->m_lock);
|
HGBase_LeaveLock(p->m_lock);
|
||||||
}
|
}
|
||||||
|
@ -4419,7 +4440,7 @@ namespace ver_2
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||||
{
|
{
|
||||||
WSUser::SaneEvent(SANEEVENT_STATUS, (const char*)data, false, *iter);
|
WSUser::SaneEvent(p->m_scanIden, p->m_scanHaveIden, SANEEVENT_STATUS, (const char*)data, false, *iter);
|
||||||
}
|
}
|
||||||
HGBase_LeaveLock(p->m_lock);
|
HGBase_LeaveLock(p->m_lock);
|
||||||
}
|
}
|
||||||
|
@ -4432,7 +4453,7 @@ namespace ver_2
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||||
{
|
{
|
||||||
WSUser::SaneEvent(SANEEVENT_ERROR, (const char*)data, (0 != *len), *iter);
|
WSUser::SaneEvent(p->m_scanIden, p->m_scanHaveIden, SANEEVENT_ERROR, (const char*)data, (0 != *len), *iter);
|
||||||
}
|
}
|
||||||
HGBase_LeaveLock(p->m_lock);
|
HGBase_LeaveLock(p->m_lock);
|
||||||
}
|
}
|
||||||
|
@ -4470,10 +4491,10 @@ namespace ver_2
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
std::string imagePath;
|
std::string imagePath;
|
||||||
int ret = p->SaveImage(img, p->m_scanTemp, imagePath);
|
int ret = p->SaveImage(img, !p->m_scanLocalSave, imagePath);
|
||||||
if (0 == ret)
|
if (0 == ret)
|
||||||
{
|
{
|
||||||
if (!p->m_scanTemp)
|
if (p->m_scanLocalSave)
|
||||||
{
|
{
|
||||||
AddSavedFileParam* addParam = new AddSavedFileParam;
|
AddSavedFileParam* addParam = new AddSavedFileParam;
|
||||||
addParam->mgr = p;
|
addParam->mgr = p;
|
||||||
|
@ -4491,10 +4512,11 @@ namespace ver_2
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||||
{
|
{
|
||||||
WSUser::SaneImageCallback(imagePath.c_str(), blank ? true : false, *iter);
|
WSUser::SaneImageCallback(p->m_scanIden, p->m_scanHaveIden, p->m_scanBlankCheck, p->m_scanLocalSave, p->m_scanGetBase64,
|
||||||
|
imagePath.c_str(), blank ? true : false, *iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->m_scanTemp)
|
if (!p->m_scanLocalSave)
|
||||||
{
|
{
|
||||||
HGBase_DeleteFile(imagePath.c_str());
|
HGBase_DeleteFile(imagePath.c_str());
|
||||||
}
|
}
|
||||||
|
|
|
@ -185,7 +185,7 @@ namespace ver_2
|
||||||
int LocalImageBinarization(const std::string& imagePath, bool temp, std::string& outImagePath, std::string& errInfo);
|
int LocalImageBinarization(const std::string& imagePath, bool temp, std::string& outImagePath, std::string& errInfo);
|
||||||
|
|
||||||
// 设备初始化
|
// 设备初始化
|
||||||
int InitDevice(std::string& errInfo);
|
int InitDevice(const std::string &iden, bool haveIden, std::string& errInfo);
|
||||||
// 设备反初始化
|
// 设备反初始化
|
||||||
int DeinitDevice(std::string& errInfo);
|
int DeinitDevice(std::string& errInfo);
|
||||||
// 是否已经初始化
|
// 是否已经初始化
|
||||||
|
@ -209,7 +209,7 @@ namespace ver_2
|
||||||
// 获取当前设备名
|
// 获取当前设备名
|
||||||
int GetCurrDeviceName(std::string& deviceName, std::string& errInfo);
|
int GetCurrDeviceName(std::string& deviceName, std::string& errInfo);
|
||||||
// 开始扫描
|
// 开始扫描
|
||||||
int StartScan(bool blankCheck, bool temp, std::string& errInfo);
|
int StartScan(const std::string &iden, bool haveIden, bool blankCheck, bool localSave, bool getBase64, std::string& errInfo);
|
||||||
// 停止扫描
|
// 停止扫描
|
||||||
int StopScan(std::string& errInfo);
|
int StopScan(std::string& errInfo);
|
||||||
// 是否已经启动扫描
|
// 是否已经启动扫描
|
||||||
|
@ -326,8 +326,13 @@ namespace ver_2
|
||||||
std::string m_devName;
|
std::string m_devName;
|
||||||
std::string m_sn;
|
std::string m_sn;
|
||||||
std::vector<DeviceParamsGroup> m_devParams;
|
std::vector<DeviceParamsGroup> m_devParams;
|
||||||
|
std::string m_initIden;
|
||||||
|
bool m_initHaveIden;
|
||||||
|
std::string m_scanIden;
|
||||||
|
bool m_scanHaveIden;
|
||||||
bool m_scanBlankCheck;
|
bool m_scanBlankCheck;
|
||||||
bool m_scanTemp;
|
bool m_scanLocalSave;
|
||||||
|
bool m_scanGetBase64;
|
||||||
bool m_scanning;
|
bool m_scanning;
|
||||||
HGEvent m_scanEvent;
|
HGEvent m_scanEvent;
|
||||||
HGUInt m_dpi;
|
HGUInt m_dpi;
|
||||||
|
|
|
@ -194,14 +194,6 @@ namespace ver_2
|
||||||
#endif
|
#endif
|
||||||
: WebUser(server, id, ip, port, sockConn)
|
: WebUser(server, id, ip, port, sockConn)
|
||||||
{
|
{
|
||||||
m_initDeviceIden.clear();
|
|
||||||
m_initDeviceHaveIden = false;
|
|
||||||
m_startScanIden.clear();
|
|
||||||
m_startScanHaveIden = false;
|
|
||||||
m_startScanBlankCheck = false;
|
|
||||||
m_startScanIsLocalSave = true;
|
|
||||||
m_startScanIsGetBase64 = false;
|
|
||||||
|
|
||||||
GetManager()->AddUser(this);
|
GetManager()->AddUser(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -793,58 +785,64 @@ namespace ver_2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WSUser::SaneEvent(int code, const char* str, bool err, void* param)
|
void WSUser::DbtEvent(const std::string &iden, bool haveIden, int code, const char* str, bool err, void* param)
|
||||||
|
{
|
||||||
|
WSUser* p = (WSUser*)param;
|
||||||
|
|
||||||
|
if (code == SANEEVENT_ARRIVE)
|
||||||
|
{
|
||||||
|
cJSON* retJson = cJSON_CreateObject();
|
||||||
|
if (NULL != retJson)
|
||||||
|
{
|
||||||
|
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("device_arrive"));
|
||||||
|
if (haveIden)
|
||||||
|
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str()));
|
||||||
|
cJSON_AddItemToObject(retJson, "device_name", cJSON_CreateString(str));
|
||||||
|
|
||||||
|
char* resp = cJSON_Print(retJson);
|
||||||
|
if (NULL != resp)
|
||||||
|
{
|
||||||
|
p->PostEventMsg((const HGByte*)resp, (HGUInt)strlen(resp));
|
||||||
|
free(resp);
|
||||||
|
}
|
||||||
|
|
||||||
|
cJSON_Delete(retJson);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (code == SANEEVENT_REMOVE)
|
||||||
|
{
|
||||||
|
cJSON* retJson = cJSON_CreateObject();
|
||||||
|
if (NULL != retJson)
|
||||||
|
{
|
||||||
|
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("device_remove"));
|
||||||
|
if (haveIden)
|
||||||
|
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str()));
|
||||||
|
cJSON_AddItemToObject(retJson, "device_name", cJSON_CreateString(str));
|
||||||
|
|
||||||
|
char* resp = cJSON_Print(retJson);
|
||||||
|
if (NULL != resp)
|
||||||
|
{
|
||||||
|
p->PostEventMsg((const HGByte*)resp, (HGUInt)strlen(resp));
|
||||||
|
free(resp);
|
||||||
|
}
|
||||||
|
|
||||||
|
cJSON_Delete(retJson);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void WSUser::SaneEvent(const std::string &iden, bool haveIden, int code, const char* str, bool err, void* param)
|
||||||
{
|
{
|
||||||
WSUser* p = (WSUser*)param;
|
WSUser* p = (WSUser*)param;
|
||||||
|
|
||||||
if (code == SANEEVENT_ARRIVE)
|
if (code == SANEEVENT_WORKING)
|
||||||
{
|
|
||||||
cJSON* retJson = cJSON_CreateObject();
|
|
||||||
if (NULL != retJson)
|
|
||||||
{
|
|
||||||
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("device_arrive"));
|
|
||||||
if (p->m_initDeviceHaveIden)
|
|
||||||
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(p->m_initDeviceIden.c_str()));
|
|
||||||
cJSON_AddItemToObject(retJson, "device_name", cJSON_CreateString(str));
|
|
||||||
|
|
||||||
char* resp = cJSON_Print(retJson);
|
|
||||||
if (NULL != resp)
|
|
||||||
{
|
|
||||||
p->PostEventMsg((const HGByte*)resp, (HGUInt)strlen(resp));
|
|
||||||
free(resp);
|
|
||||||
}
|
|
||||||
|
|
||||||
cJSON_Delete(retJson);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (code == SANEEVENT_REMOVE)
|
|
||||||
{
|
|
||||||
cJSON* retJson = cJSON_CreateObject();
|
|
||||||
if (NULL != retJson)
|
|
||||||
{
|
|
||||||
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("device_remove"));
|
|
||||||
if (p->m_initDeviceHaveIden)
|
|
||||||
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(p->m_initDeviceIden.c_str()));
|
|
||||||
cJSON_AddItemToObject(retJson, "device_name", cJSON_CreateString(str));
|
|
||||||
|
|
||||||
char* resp = cJSON_Print(retJson);
|
|
||||||
if (NULL != resp)
|
|
||||||
{
|
|
||||||
p->PostEventMsg((const HGByte*)resp, (HGUInt)strlen(resp));
|
|
||||||
free(resp);
|
|
||||||
}
|
|
||||||
|
|
||||||
cJSON_Delete(retJson);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (code == SANEEVENT_WORKING)
|
|
||||||
{
|
{
|
||||||
cJSON* retJson = cJSON_CreateObject();
|
cJSON* retJson = cJSON_CreateObject();
|
||||||
if (NULL != retJson)
|
if (NULL != retJson)
|
||||||
{
|
{
|
||||||
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_begin"));
|
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_begin"));
|
||||||
if (p->m_startScanHaveIden)
|
if (haveIden)
|
||||||
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(p->m_startScanIden.c_str()));
|
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str()));
|
||||||
|
|
||||||
char* resp = cJSON_Print(retJson);
|
char* resp = cJSON_Print(retJson);
|
||||||
if (NULL != resp)
|
if (NULL != resp)
|
||||||
|
@ -860,8 +858,8 @@ namespace ver_2
|
||||||
if (NULL != retJson)
|
if (NULL != retJson)
|
||||||
{
|
{
|
||||||
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_info"));
|
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_info"));
|
||||||
if (p->m_startScanHaveIden)
|
if (haveIden)
|
||||||
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(p->m_startScanIden.c_str()));
|
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str()));
|
||||||
if (err)
|
if (err)
|
||||||
cJSON_AddItemToObject(retJson, "is_error", cJSON_CreateTrue());
|
cJSON_AddItemToObject(retJson, "is_error", cJSON_CreateTrue());
|
||||||
else
|
else
|
||||||
|
@ -884,8 +882,8 @@ namespace ver_2
|
||||||
if (NULL != retJson)
|
if (NULL != retJson)
|
||||||
{
|
{
|
||||||
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_info"));
|
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_info"));
|
||||||
if (p->m_startScanHaveIden)
|
if (haveIden)
|
||||||
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(p->m_startScanIden.c_str()));
|
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str()));
|
||||||
if (err)
|
if (err)
|
||||||
cJSON_AddItemToObject(retJson, "is_error", cJSON_CreateTrue());
|
cJSON_AddItemToObject(retJson, "is_error", cJSON_CreateTrue());
|
||||||
else
|
else
|
||||||
|
@ -906,8 +904,8 @@ namespace ver_2
|
||||||
if (NULL != retJson)
|
if (NULL != retJson)
|
||||||
{
|
{
|
||||||
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_end"));
|
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_end"));
|
||||||
if (p->m_startScanHaveIden)
|
if (haveIden)
|
||||||
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(p->m_startScanIden.c_str()));
|
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str()));
|
||||||
|
|
||||||
char* resp = cJSON_Print(retJson);
|
char* resp = cJSON_Print(retJson);
|
||||||
if (NULL != resp)
|
if (NULL != resp)
|
||||||
|
@ -921,12 +919,13 @@ namespace ver_2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WSUser::SaneImageCallback(const char* path, bool blank, void* param)
|
void WSUser::SaneImageCallback(const std::string &iden, bool haveIden, bool blankCheck, bool localSave, bool getBase64,
|
||||||
|
const char* path, bool blank, void* param)
|
||||||
{
|
{
|
||||||
WSUser* p = (WSUser*)param;
|
WSUser* p = (WSUser*)param;
|
||||||
|
|
||||||
std::string base64;
|
std::string base64;
|
||||||
if (p->m_startScanIsGetBase64)
|
if (getBase64)
|
||||||
{
|
{
|
||||||
std::string errInfo;
|
std::string errInfo;
|
||||||
p->GetManager()->LoadLocalImage(path, base64, errInfo);
|
p->GetManager()->LoadLocalImage(path, base64, errInfo);
|
||||||
|
@ -936,10 +935,10 @@ namespace ver_2
|
||||||
if (NULL != retJson)
|
if (NULL != retJson)
|
||||||
{
|
{
|
||||||
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_image"));
|
cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("scan_image"));
|
||||||
if (p->m_startScanHaveIden)
|
if (haveIden)
|
||||||
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(p->m_startScanIden.c_str()));
|
cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str()));
|
||||||
|
|
||||||
if (p->m_startScanBlankCheck)
|
if (blankCheck)
|
||||||
{
|
{
|
||||||
if (blank)
|
if (blank)
|
||||||
cJSON_AddItemToObject(retJson, "is_blank", cJSON_CreateTrue());
|
cJSON_AddItemToObject(retJson, "is_blank", cJSON_CreateTrue());
|
||||||
|
@ -947,10 +946,10 @@ namespace ver_2
|
||||||
cJSON_AddItemToObject(retJson, "is_blank", cJSON_CreateFalse());
|
cJSON_AddItemToObject(retJson, "is_blank", cJSON_CreateFalse());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->m_startScanIsLocalSave)
|
if (localSave)
|
||||||
cJSON_AddItemToObject(retJson, "image_path", cJSON_CreateString(StdStringToUtf8(path).c_str()));
|
cJSON_AddItemToObject(retJson, "image_path", cJSON_CreateString(StdStringToUtf8(path).c_str()));
|
||||||
|
|
||||||
if (p->m_startScanIsGetBase64)
|
if (getBase64)
|
||||||
cJSON_AddItemToObject(retJson, "image_base64", cJSON_CreateString(base64.c_str()));
|
cJSON_AddItemToObject(retJson, "image_base64", cJSON_CreateString(base64.c_str()));
|
||||||
|
|
||||||
char* resp = cJSON_Print(retJson);
|
char* resp = cJSON_Print(retJson);
|
||||||
|
@ -2477,19 +2476,8 @@ namespace ver_2
|
||||||
bool findIden = false;
|
bool findIden = false;
|
||||||
std::string iden = GetJsonStringValue(json, "iden", &findIden);
|
std::string iden = GetJsonStringValue(json, "iden", &findIden);
|
||||||
|
|
||||||
if (!GetManager()->IsDeviceInit())
|
|
||||||
{
|
|
||||||
m_initDeviceIden = iden;
|
|
||||||
m_initDeviceHaveIden = findIden;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string errInfo;
|
std::string errInfo;
|
||||||
int ret = GetManager()->InitDevice(errInfo);
|
int ret = GetManager()->InitDevice(iden, findIden, errInfo);
|
||||||
if (0 != ret)
|
|
||||||
{
|
|
||||||
m_initDeviceIden.clear();
|
|
||||||
m_initDeviceHaveIden = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
cJSON* retJson = cJSON_CreateObject();
|
cJSON* retJson = cJSON_CreateObject();
|
||||||
if (NULL != retJson)
|
if (NULL != retJson)
|
||||||
|
@ -2519,9 +2507,6 @@ namespace ver_2
|
||||||
std::string errInfo;
|
std::string errInfo;
|
||||||
int ret = GetManager()->DeinitDevice(errInfo);
|
int ret = GetManager()->DeinitDevice(errInfo);
|
||||||
|
|
||||||
m_initDeviceIden.clear();
|
|
||||||
m_initDeviceHaveIden = false;
|
|
||||||
|
|
||||||
bool findIden = false;
|
bool findIden = false;
|
||||||
std::string iden = GetJsonStringValue(json, "iden", &findIden);
|
std::string iden = GetJsonStringValue(json, "iden", &findIden);
|
||||||
|
|
||||||
|
@ -3056,25 +3041,8 @@ namespace ver_2
|
||||||
if (!find)
|
if (!find)
|
||||||
getBase64 = false;
|
getBase64 = false;
|
||||||
|
|
||||||
if (!GetManager()->IsScanning())
|
|
||||||
{
|
|
||||||
m_startScanIden = iden;
|
|
||||||
m_startScanHaveIden = findIden;
|
|
||||||
m_startScanBlankCheck = blankCheck;
|
|
||||||
m_startScanIsLocalSave = localSave;
|
|
||||||
m_startScanIsGetBase64 = getBase64;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string errInfo;
|
std::string errInfo;
|
||||||
int ret = GetManager()->StartScan(blankCheck, !localSave, errInfo);
|
int ret = GetManager()->StartScan(iden, findIden, blankCheck, localSave, getBase64, errInfo);
|
||||||
if (0 != ret)
|
|
||||||
{
|
|
||||||
m_startScanIden.clear();
|
|
||||||
m_startScanHaveIden = false;
|
|
||||||
m_startScanBlankCheck = false;
|
|
||||||
m_startScanIsLocalSave = true;
|
|
||||||
m_startScanIsGetBase64 = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
cJSON* retJson = cJSON_CreateObject();
|
cJSON* retJson = cJSON_CreateObject();
|
||||||
if (NULL != retJson)
|
if (NULL != retJson)
|
||||||
|
@ -3104,12 +3072,6 @@ namespace ver_2
|
||||||
std::string errInfo;
|
std::string errInfo;
|
||||||
int ret = GetManager()->StopScan(errInfo);
|
int ret = GetManager()->StopScan(errInfo);
|
||||||
|
|
||||||
m_startScanIden.clear();
|
|
||||||
m_startScanHaveIden = false;
|
|
||||||
m_startScanBlankCheck = false;
|
|
||||||
m_startScanIsLocalSave = true;
|
|
||||||
m_startScanIsGetBase64 = false;
|
|
||||||
|
|
||||||
bool findIden = false;
|
bool findIden = false;
|
||||||
std::string iden = GetJsonStringValue(json, "iden", &findIden);
|
std::string iden = GetJsonStringValue(json, "iden", &findIden);
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,10 @@ namespace ver_2
|
||||||
virtual void ThreadFunc();
|
virtual void ThreadFunc();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void SaneEvent(int code, const char* str, bool err, void* param);
|
static void DbtEvent(const std::string &iden, bool haveIden, int code, const char* str, bool err, void* param);
|
||||||
static void SaneImageCallback(const char* path, bool blank, void* param);
|
static void SaneEvent(const std::string &iden, bool haveIden, int code, const char* str, bool err, void* param);
|
||||||
|
static void SaneImageCallback(const std::string &iden, bool haveIden, bool blankCheck, bool localSave, bool getBase64,
|
||||||
|
const char* path, bool blank, void* param);
|
||||||
private:
|
private:
|
||||||
bool ShakeHand(const std::string& head);
|
bool ShakeHand(const std::string& head);
|
||||||
void Pong();
|
void Pong();
|
||||||
|
@ -92,14 +94,5 @@ namespace ver_2
|
||||||
void MoveImage(cJSON* json);
|
void MoveImage(cJSON* json);
|
||||||
void ExchangeImage(cJSON* json);
|
void ExchangeImage(cJSON* json);
|
||||||
void ImageBookSort(cJSON* json);
|
void ImageBookSort(cJSON* json);
|
||||||
|
|
||||||
private:
|
|
||||||
std::string m_initDeviceIden;
|
|
||||||
bool m_initDeviceHaveIden;
|
|
||||||
std::string m_startScanIden;
|
|
||||||
bool m_startScanHaveIden;
|
|
||||||
bool m_startScanBlankCheck;
|
|
||||||
bool m_startScanIsLocalSave;
|
|
||||||
bool m_startScanIsGetBase64;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue