websdk关闭连接时,不再关闭设备
This commit is contained in:
parent
6ba76d9a69
commit
f3ddd52c20
|
@ -17,6 +17,7 @@ extern "C"
|
|||
#include <curl/curl.h>
|
||||
#include <list>
|
||||
#include <algorithm>
|
||||
#include "SockIoUser.h"
|
||||
|
||||
namespace ver_1
|
||||
{
|
||||
|
@ -154,10 +155,7 @@ namespace ver_1
|
|||
HGBase_CreateLock(&m_lock);
|
||||
m_devName.clear();
|
||||
m_devHandle = NULL;
|
||||
m_saneEvent = NULL;
|
||||
m_saneParam = NULL;
|
||||
m_saneImageCallback = NULL;
|
||||
m_saneImageParam = NULL;
|
||||
m_user.clear();
|
||||
|
||||
m_scanInsertImgName.clear();
|
||||
m_scanIsInsert = false;
|
||||
|
@ -236,41 +234,29 @@ namespace ver_1
|
|||
StopScan();
|
||||
}
|
||||
|
||||
void ManagerV1::SetSaneEvent(SaneEvent event, void* param)
|
||||
{
|
||||
assert(NULL != event && NULL != param);
|
||||
void ManagerV1::AddUser(class SockIoUser *user)
|
||||
{
|
||||
assert(NULL != user);
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_user.push_back(user);
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneEvent = event;
|
||||
m_saneParam = param;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
void ManagerV1::SetSaneImageCallback(SaneImageCallback func, void* param)
|
||||
{
|
||||
assert(NULL != func && NULL != param);
|
||||
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneImageCallback = func;
|
||||
m_saneImageParam = param;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
void ManagerV1::ResetSaneEvent()
|
||||
{
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneEvent = NULL;
|
||||
m_saneParam = NULL;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
void ManagerV1::ResetSaneImageCallback()
|
||||
{
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneImageCallback = NULL;
|
||||
m_saneImageParam = NULL;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
void ManagerV1::RemoveUser(class SockIoUser *user)
|
||||
{
|
||||
assert(NULL != user);
|
||||
HGBase_EnterLock(m_lock);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = m_user.begin(); iter != m_user.end(); ++iter)
|
||||
{
|
||||
if (*iter == user)
|
||||
{
|
||||
m_user.erase(iter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
bool ManagerV1::Scan(const std::string& insertImgName, bool isInsert)
|
||||
{
|
||||
|
@ -1756,8 +1742,11 @@ namespace ver_1
|
|||
}
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_ARRIVE, sane_dev->name, false, p->m_saneParam);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
SockIoUser::SaneEvent(SANEEVENT_ARRIVE, sane_dev->name, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -1779,8 +1768,11 @@ namespace ver_1
|
|||
}
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_REMOVE, sane_dev->name, false, p->m_saneParam);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
SockIoUser::SaneEvent(SANEEVENT_REMOVE, sane_dev->name, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -1789,8 +1781,11 @@ namespace ver_1
|
|||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_STATUS, (const char*)data, false, p->m_saneParam);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
SockIoUser::SaneEvent(SANEEVENT_STATUS, (const char*)data, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -1799,8 +1794,11 @@ namespace ver_1
|
|||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_ERROR, (const char*)data, (0 != *len), p->m_saneParam);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
SockIoUser::SaneEvent(SANEEVENT_ERROR, (const char*)data, (0 != *len), *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -1809,8 +1807,11 @@ namespace ver_1
|
|||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_WORKING, (const char*)data, false, p->m_saneParam);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
SockIoUser::SaneEvent(SANEEVENT_WORKING, (const char*)data, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -1896,8 +1897,11 @@ namespace ver_1
|
|||
imgBase64 += GetBase64(img);
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneImageCallback)
|
||||
p->m_saneImageCallback(imgName.c_str(), imgBase64.c_str(), p->m_saneImageParam);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
SockIoUser::SaneImageCallback(imgName.c_str(), imgBase64.c_str(), *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
|
||||
HGBase_DestroyImage(img);
|
||||
|
@ -1922,8 +1926,11 @@ namespace ver_1
|
|||
}
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_FINISH, (const char*)data, (0 != *len), p->m_saneParam);
|
||||
std::list<class SockIoUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
SockIoUser::SaneEvent(SANEEVENT_FINISH, (const char*)data, (0 != *len), *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "Manager.h"
|
||||
#include "Msg.h"
|
||||
#include <string>
|
||||
#include <list>
|
||||
#include <vector>
|
||||
|
||||
namespace ver_1
|
||||
|
@ -87,9 +88,6 @@ namespace ver_1
|
|||
int format; // 上传格式 0: ofd 1: pdf 2: zip, 默认2
|
||||
};
|
||||
|
||||
typedef void (*SaneEvent)(int code, const char* str, bool err, void* param);
|
||||
typedef void (*SaneImageCallback)(const char* name, const char *base64, void* param);
|
||||
|
||||
class ManagerV1 : public Manager
|
||||
{
|
||||
public:
|
||||
|
@ -103,12 +101,8 @@ namespace ver_1
|
|||
// 扫描完成
|
||||
void ScanFinish(const ScanFinishParam* param);
|
||||
|
||||
// 设置回调
|
||||
void SetSaneEvent(SaneEvent event, void* param);
|
||||
void SetSaneImageCallback(SaneImageCallback func, void* param);
|
||||
// 清理回调
|
||||
void ResetSaneEvent();
|
||||
void ResetSaneImageCallback();
|
||||
void AddUser(class SockIoUser *user);
|
||||
void RemoveUser(class SockIoUser *user);
|
||||
|
||||
// 扫描
|
||||
bool Scan(const std::string& insertImgName, bool isInsert);
|
||||
|
@ -189,14 +183,11 @@ namespace ver_1
|
|||
std::string m_devName;
|
||||
SANE_Handle m_devHandle;
|
||||
DevParam m_devParam;
|
||||
SaneEvent m_saneEvent;
|
||||
void* m_saneParam;
|
||||
SaneImageCallback m_saneImageCallback;
|
||||
void* m_saneImageParam;
|
||||
std::list<class SockIoUser *> m_user;
|
||||
|
||||
std::string m_scanInsertImgName;
|
||||
bool m_scanIsInsert;
|
||||
bool m_scanning;
|
||||
HGEvent m_scanEvent;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ extern "C"
|
|||
#include <curl/curl.h>
|
||||
#include <list>
|
||||
#include <algorithm>
|
||||
#include "WSUser.h"
|
||||
|
||||
namespace ver_2
|
||||
{
|
||||
|
@ -50,10 +51,7 @@ namespace ver_2
|
|||
HGBase_StandardiseFileName(m_globalCfg.fileSavePath.c_str(), stdSavePath, 256);
|
||||
m_globalCfg.fileSavePath = stdSavePath;
|
||||
|
||||
m_saneEvent = NULL;
|
||||
m_saneParam = NULL;
|
||||
m_saneImageCallback = NULL;
|
||||
m_saneImageParam = NULL;
|
||||
m_user.clear();
|
||||
|
||||
m_initDevice = false;
|
||||
m_devNameList.clear();
|
||||
|
@ -207,41 +205,29 @@ namespace ver_2
|
|||
}
|
||||
}
|
||||
|
||||
void ManagerV2::SetSaneEvent(SaneEvent event, void* param)
|
||||
{
|
||||
assert(NULL != event && NULL != param);
|
||||
void ManagerV2::AddUser(class WSUser *user)
|
||||
{
|
||||
assert(NULL != user);
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_user.push_back(user);
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneEvent = event;
|
||||
m_saneParam = param;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
void ManagerV2::SetSaneImageCallback(SaneImageCallback func, void* param)
|
||||
{
|
||||
assert(NULL != func && NULL != param);
|
||||
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneImageCallback = func;
|
||||
m_saneImageParam = param;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
void ManagerV2::ResetSaneEvent()
|
||||
{
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneEvent = NULL;
|
||||
m_saneParam = NULL;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
void ManagerV2::ResetSaneImageCallback()
|
||||
{
|
||||
HGBase_EnterLock(m_lock);
|
||||
m_saneImageCallback = NULL;
|
||||
m_saneImageParam = NULL;
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
void ManagerV2::RemoveUser(class WSUser *user)
|
||||
{
|
||||
assert(NULL != user);
|
||||
HGBase_EnterLock(m_lock);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = m_user.begin(); iter != m_user.end(); ++iter)
|
||||
{
|
||||
if (*iter == user)
|
||||
{
|
||||
m_user.erase(iter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
HGBase_LeaveLock(m_lock);
|
||||
}
|
||||
|
||||
int ManagerV2::SetGlobalConfig(const GlobalConfig& cfg, HGUInt mask, std::string& errInfo)
|
||||
{
|
||||
|
@ -4044,8 +4030,11 @@ namespace ver_2
|
|||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
p->m_devNameList.push_back(sane_dev->name);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_ARRIVE, sane_dev->name, false, p->m_saneParam);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
WSUser::SaneEvent(SANEEVENT_ARRIVE, sane_dev->name, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -4075,8 +4064,11 @@ namespace ver_2
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_REMOVE, sane_dev->name, false, p->m_saneParam);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
WSUser::SaneEvent(SANEEVENT_REMOVE, sane_dev->name, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -4085,8 +4077,11 @@ namespace ver_2
|
|||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_WORKING, (const char*)data, false, p->m_saneParam);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
WSUser::SaneEvent(SANEEVENT_WORKING, (const char*)data, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -4108,8 +4103,11 @@ namespace ver_2
|
|||
}
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_FINISH, (const char*)data, (0 != *len), p->m_saneParam);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
WSUser::SaneEvent(SANEEVENT_FINISH, (const char*)data, (0 != *len), *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -4118,8 +4116,11 @@ namespace ver_2
|
|||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_STATUS, (const char*)data, false, p->m_saneParam);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
WSUser::SaneEvent(SANEEVENT_STATUS, (const char*)data, false, *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -4128,8 +4129,11 @@ namespace ver_2
|
|||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||
|
||||
HGBase_EnterLock(p->m_lock);
|
||||
if (NULL != p->m_saneEvent)
|
||||
p->m_saneEvent(SANEEVENT_ERROR, (const char*)data, (0 != *len), p->m_saneParam);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
WSUser::SaneEvent(SANEEVENT_ERROR, (const char*)data, (0 != *len), *iter);
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
}
|
||||
break;
|
||||
|
@ -4182,8 +4186,11 @@ namespace ver_2
|
|||
}
|
||||
}
|
||||
|
||||
if (NULL != p->m_saneImageCallback)
|
||||
p->m_saneImageCallback(imagePath.c_str(), blank ? true : false, p->m_saneImageParam);
|
||||
std::list<class WSUser *>::iterator iter;
|
||||
for (iter = p->m_user.begin(); iter != p->m_user.end(); ++iter)
|
||||
{
|
||||
WSUser::SaneImageCallback(imagePath.c_str(), blank ? true : false, *iter);
|
||||
}
|
||||
}
|
||||
HGBase_LeaveLock(p->m_lock);
|
||||
|
||||
|
|
|
@ -111,9 +111,6 @@ namespace ver_2
|
|||
std::string thumbBase64;
|
||||
};
|
||||
|
||||
typedef void (*SaneEvent)(int code, const char *str, bool err, void* param);
|
||||
typedef void (*SaneImageCallback)(const char* path, bool blank, void* param);
|
||||
|
||||
class ManagerV2 : public Manager
|
||||
{
|
||||
public:
|
||||
|
@ -129,12 +126,8 @@ namespace ver_2
|
|||
// 删除文件
|
||||
void RemoveSavedFile(const RemoveSavedFileParam* param);
|
||||
|
||||
// 设置回调
|
||||
void SetSaneEvent(SaneEvent event, void* param);
|
||||
void SetSaneImageCallback(SaneImageCallback func, void* param);
|
||||
// 清理回调
|
||||
void ResetSaneEvent();
|
||||
void ResetSaneImageCallback();
|
||||
void AddUser(class WSUser *user);
|
||||
void RemoveUser(class WSUser *user);
|
||||
|
||||
// 设置全局配置
|
||||
int SetGlobalConfig(const GlobalConfig& cfg, HGUInt mask, std::string &errInfo);
|
||||
|
@ -304,10 +297,7 @@ namespace ver_2
|
|||
private:
|
||||
HGLock m_lock;
|
||||
GlobalConfig m_globalCfg;
|
||||
SaneEvent m_saneEvent;
|
||||
void* m_saneParam;
|
||||
SaneImageCallback m_saneImageCallback;
|
||||
void* m_saneImageParam;
|
||||
std::list<class WSUser *> m_user;
|
||||
|
||||
bool m_initDevice;
|
||||
std::vector<std::string> m_devNameList;
|
||||
|
@ -328,4 +318,4 @@ namespace ver_2
|
|||
int m_bindNameBase;
|
||||
std::list<std::string> m_saveFilePathList;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,14 +16,12 @@ namespace ver_1
|
|||
#endif
|
||||
: WebUser(server, id, ip, port, sockConn)
|
||||
{
|
||||
GetManager()->SetSaneEvent(SaneEvent2, this);
|
||||
GetManager()->SetSaneImageCallback(SaneImageCallback2, this);
|
||||
GetManager()->AddUser(this);
|
||||
}
|
||||
|
||||
SockIoUser::~SockIoUser()
|
||||
{
|
||||
GetManager()->ResetSaneImageCallback();
|
||||
GetManager()->ResetSaneEvent();
|
||||
GetManager()->RemoveUser(this);
|
||||
}
|
||||
|
||||
ManagerV1* SockIoUser::GetManager()
|
||||
|
@ -427,7 +425,7 @@ namespace ver_1
|
|||
}
|
||||
}
|
||||
|
||||
void SockIoUser::SaneEvent2(int code, const char* str, bool err, void* param)
|
||||
void SockIoUser::SaneEvent(int code, const char* str, bool err, void* param)
|
||||
{
|
||||
SockIoUser* p = (SockIoUser*)param;
|
||||
|
||||
|
@ -464,7 +462,7 @@ namespace ver_1
|
|||
}
|
||||
}
|
||||
|
||||
void SockIoUser::SaneImageCallback2(const char* name, const char* base64, void* param)
|
||||
void SockIoUser::SaneImageCallback(const char* name, const char* base64, void* param)
|
||||
{
|
||||
SockIoUser* p = (SockIoUser*)param;
|
||||
|
||||
|
|
|
@ -24,12 +24,13 @@ namespace ver_1
|
|||
void PostEventMsg(const HGByte* data, HGUInt dataSize);
|
||||
virtual void ThreadFunc();
|
||||
|
||||
private:
|
||||
static void SaneEvent2(int code, const char* str, bool err, void* param);
|
||||
static void SaneImageCallback2(const char* name, const char *base64, void* param);
|
||||
public:
|
||||
static void SaneEvent(int code, const char* str, bool err, void* param);
|
||||
static void SaneImageCallback(const char* name, const char *base64, void* param);
|
||||
private:
|
||||
static void GetMsgInfo(const SockIoCmdParam* param, std::string& user, std::string& data);
|
||||
bool ShakeHand(const std::string& head);
|
||||
void Pong();
|
||||
bool SendResponse(const HGByte* data, HGUInt size, HGBool text);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -202,16 +202,12 @@ namespace ver_2
|
|||
m_startScanIsLocalSave = true;
|
||||
m_startScanIsGetBase64 = false;
|
||||
|
||||
GetManager()->SetSaneEvent(SaneEvent2, this);
|
||||
GetManager()->SetSaneImageCallback(SaneImageCallback2, this);
|
||||
GetManager()->AddUser(this);
|
||||
}
|
||||
|
||||
WSUser::~WSUser()
|
||||
{
|
||||
std::string errInfo;
|
||||
GetManager()->DeinitDevice(errInfo);
|
||||
GetManager()->ResetSaneImageCallback();
|
||||
GetManager()->ResetSaneEvent();
|
||||
GetManager()->RemoveUser(this);
|
||||
}
|
||||
|
||||
ManagerV2* WSUser::GetManager()
|
||||
|
@ -769,7 +765,7 @@ namespace ver_2
|
|||
}
|
||||
}
|
||||
|
||||
void WSUser::SaneEvent2(int code, const char* str, bool err, void* param)
|
||||
void WSUser::SaneEvent(int code, const char* str, bool err, void* param)
|
||||
{
|
||||
WSUser* p = (WSUser*)param;
|
||||
|
||||
|
@ -897,7 +893,7 @@ namespace ver_2
|
|||
}
|
||||
}
|
||||
|
||||
void WSUser::SaneImageCallback2(const char* path, bool blank, void* param)
|
||||
void WSUser::SaneImageCallback(const char* path, bool blank, void* param)
|
||||
{
|
||||
WSUser* p = (WSUser*)param;
|
||||
|
||||
|
@ -3612,4 +3608,4 @@ namespace ver_2
|
|||
cJSON_Delete(retJson);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,9 +25,10 @@ namespace ver_2
|
|||
void PostEventMsg(const HGByte* data, HGUInt dataSize);
|
||||
virtual void ThreadFunc();
|
||||
|
||||
private:
|
||||
static void SaneEvent2(int code, const char* str, bool err, void* param);
|
||||
static void SaneImageCallback2(const char* path, bool blank, void* param);
|
||||
public:
|
||||
static void SaneEvent(int code, const char* str, bool err, void* param);
|
||||
static void SaneImageCallback(const char* path, bool blank, void* param);
|
||||
private:
|
||||
bool ShakeHand(const std::string& head);
|
||||
void Pong();
|
||||
bool SendResponse(const HGByte* data, HGUInt size, HGBool text);
|
||||
|
|
Loading…
Reference in New Issue