去掉用户回调接口,增加获取用户状态接口

This commit is contained in:
luoliangyi 2022-12-22 10:07:16 +08:00
parent a27f35c28a
commit c1cb7097c0
6 changed files with 82 additions and 170 deletions

View File

@ -2,8 +2,8 @@
#include "HGPdtToolDbImpl.hpp" #include "HGPdtToolDbImpl.hpp"
#include "base/HGInc.h" #include "base/HGInc.h"
HGResult HGAPI HGPdtToolDb_CreateUserMgr(const HGChar* host, HGUShort port, const HGChar* userName, const HGChar* pwd, HGResult HGAPI HGPdtToolDb_CreateUserMgr(const HGChar* host, HGUShort port, const HGChar* userName,
HGPdtToolDbUserEventFunc func, HGPointer param, HGPdtToolDbUserMgr* userMgr) const HGChar* pwd, HGPdtToolDbUserMgr* userMgr)
{ {
if (NULL == userMgr) if (NULL == userMgr)
{ {
@ -11,7 +11,7 @@ HGResult HGAPI HGPdtToolDb_CreateUserMgr(const HGChar* host, HGUShort port, cons
} }
HGPdtToolDbUserMgrImpl* userMgrImpl = new HGPdtToolDbUserMgrImpl; HGPdtToolDbUserMgrImpl* userMgrImpl = new HGPdtToolDbUserMgrImpl;
HGResult ret = userMgrImpl->Create(host, port, userName, pwd, func, param); HGResult ret = userMgrImpl->Create(host, port, userName, pwd);
if (HGBASE_ERR_OK != ret) if (HGBASE_ERR_OK != ret)
{ {
delete userMgrImpl; delete userMgrImpl;
@ -40,6 +40,17 @@ HGResult HGAPI HGPdtToolDb_DestroyUserMgr(HGPdtToolDbUserMgr userMgr)
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
HGResult HGAPI HGPdtToolDb_GetUserStatus(HGPdtToolDbUserMgr userMgr, HGUInt* userStatus)
{
if (NULL == userMgr)
{
return HGBASE_ERR_INVALIDARG;
}
HGPdtToolDbUserMgrImpl* userMgrImpl = (HGPdtToolDbUserMgrImpl*)userMgr;
return userMgrImpl->GetUserStatus(userStatus);
}
HGResult HGAPI HGPdtToolDb_GetUserType(HGPdtToolDbUserMgr userMgr, HGUInt* userType) HGResult HGAPI HGPdtToolDb_GetUserType(HGPdtToolDbUserMgr userMgr, HGUInt* userType)
{ {
if (NULL == userMgr) if (NULL == userMgr)

View File

@ -4,6 +4,7 @@ EXPORTS
HGPdtToolDb_CreateUserMgr HGPdtToolDb_CreateUserMgr
HGPdtToolDb_DestroyUserMgr HGPdtToolDb_DestroyUserMgr
HGPdtToolDb_GetUserStatus
HGPdtToolDb_GetUserType HGPdtToolDb_GetUserType
HGPdtToolDb_GetUserName HGPdtToolDb_GetUserName
HGPdtToolDb_RefuseUser HGPdtToolDb_RefuseUser

View File

@ -5,12 +5,14 @@
#include "base/HGBaseErr.h" #include "base/HGBaseErr.h"
#include "HGPdtToolDbErr.h" #include "HGPdtToolDbErr.h"
/* 状态正常 */
#define HGPDTTOOLDB_USERSTATUS_OK 0L
/* 账户在其他地方登录 */ /* 账户在其他地方登录 */
#define HGPDTTOOLDB_USEREVENT_CONFLICT 1L #define HGPDTTOOLDB_USERSTATUS_CONFLICT 1L
/* 被管理员账户强制下线 */ /* 被管理员账户强制下线 */
#define HGPDTTOOLDB_USEREVENT_REFUSE 2L #define HGPDTTOOLDB_USERSTATUS_REFUSE 2L
/* 数据库异常 */ /* 数据库异常 */
#define HGPDTTOOLDB_USEREVENT_DBERROR 3L #define HGPDTTOOLDB_USERSTATUS_DBERROR 3L
/* 管理员账户 */ /* 管理员账户 */
#define HGPDTTOOLDB_USERTYPE_ROOT 1L #define HGPDTTOOLDB_USERTYPE_ROOT 1L
@ -102,16 +104,16 @@
HG_DECLARE_HANDLE(HGPdtToolDbUserMgr); HG_DECLARE_HANDLE(HGPdtToolDbUserMgr);
HG_DECLARE_HANDLE(HGPdtToolDbDevice); HG_DECLARE_HANDLE(HGPdtToolDbDevice);
/* 用户事件 */
typedef void (HGAPI* HGPdtToolDbUserEventFunc)(HGPdtToolDbUserMgr userMgr, HGUInt event, HGPointer param);
/* 登录 */ /* 登录 */
HGEXPORT HGResult HGAPI HGPdtToolDb_CreateUserMgr(const HGChar *host, HGUShort port, const HGChar *userName, const HGChar *pwd, HGEXPORT HGResult HGAPI HGPdtToolDb_CreateUserMgr(const HGChar *host, HGUShort port, const HGChar *userName,
HGPdtToolDbUserEventFunc func, HGPointer param, HGPdtToolDbUserMgr *userMgr); const HGChar *pwd, HGPdtToolDbUserMgr *userMgr);
/* 登出 */ /* 登出 */
HGEXPORT HGResult HGAPI HGPdtToolDb_DestroyUserMgr(HGPdtToolDbUserMgr userMgr); HGEXPORT HGResult HGAPI HGPdtToolDb_DestroyUserMgr(HGPdtToolDbUserMgr userMgr);
/* 获取用户状态 */
HGEXPORT HGResult HGAPI HGPdtToolDb_GetUserStatus(HGPdtToolDbUserMgr userMgr, HGUInt* userStatus);
/* 获取当前账户类型 */ /* 获取当前账户类型 */
HGEXPORT HGResult HGAPI HGPdtToolDb_GetUserType(HGPdtToolDbUserMgr userMgr, HGUInt *userType); HGEXPORT HGResult HGAPI HGPdtToolDb_GetUserType(HGPdtToolDbUserMgr userMgr, HGUInt *userType);

View File

@ -104,15 +104,6 @@ HGPdtToolDbUserMgrImpl::HGPdtToolDbUserMgrImpl()
m_sql = NULL; m_sql = NULL;
m_userName.clear(); m_userName.clear();
m_connectId = -1; m_connectId = -1;
m_func = NULL;
m_param = NULL;
m_valid = HGFALSE;
m_lock = NULL;
m_event = NULL;
m_stopThread = HGFALSE;
m_thread = NULL;
m_deviceList.clear(); m_deviceList.clear();
} }
@ -121,8 +112,7 @@ HGPdtToolDbUserMgrImpl::~HGPdtToolDbUserMgrImpl()
} }
HGResult HGPdtToolDbUserMgrImpl::Create(const HGChar* host, HGUShort port, const HGChar* userName, const HGChar* pwd, HGResult HGPdtToolDbUserMgrImpl::Create(const HGChar* host, HGUShort port, const HGChar* userName, const HGChar* pwd)
HGPdtToolDbUserEventFunc func, HGPointer param)
{ {
if (NULL != m_sql) if (NULL != m_sql)
{ {
@ -188,14 +178,6 @@ HGResult HGPdtToolDbUserMgrImpl::Create(const HGChar* host, HGUShort port, const
m_sql = sql; m_sql = sql;
m_userName = userName; m_userName = userName;
m_connectId = connectId; m_connectId = connectId;
m_func = func;
m_param = param;
m_valid = HGTRUE;
HGBase_CreateLock(&m_lock);
HGBase_CreateEvent(HGTRUE, HGFALSE, &m_event);
m_stopThread = HGFALSE;
HGBase_OpenThread(ThreadFunc, this, &m_thread);
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
@ -206,29 +188,47 @@ HGResult HGPdtToolDbUserMgrImpl::Destroy()
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
std::list<class HGPdtToolDbDeviceImpl*>::iterator iter; while (!m_deviceList.empty())
for (iter = m_deviceList.begin(); iter != m_deviceList.end(); ++iter)
{ {
delete (*iter); delete (*m_deviceList.begin());
} }
m_deviceList.clear();
m_stopThread = HGTRUE;
HGBase_SetEvent(m_event);
HGBase_CloseThread(m_thread);
m_thread = NULL;
HGBase_DestroyEvent(m_event);
m_event = NULL;
HGBase_DestroyLock(m_lock);
m_lock = NULL;
mysql_close(m_sql); mysql_close(m_sql);
m_sql = NULL; m_sql = NULL;
m_userName.clear(); m_userName.clear();
m_connectId = -1; m_connectId = -1;
m_func = NULL; return HGBASE_ERR_OK;
m_param = NULL; }
m_valid = HGFALSE;
HGResult HGPdtToolDbUserMgrImpl::GetUserStatus(HGUInt* userStatus)
{
if (NULL == m_sql)
{
return HGBASE_ERR_FAIL;
}
if (NULL == userStatus)
{
return HGBASE_ERR_INVALIDARG;
}
*userStatus = HGPDTTOOLDB_USERSTATUS_OK;
int connectId = -1;
std::string takeUserName;
int ret = GetUserLoginInfo(m_sql, m_userName.c_str(), connectId, takeUserName);
if (0 != ret)
{
*userStatus = HGPDTTOOLDB_USERSTATUS_DBERROR;
}
else if (takeUserName == "root" && takeUserName != m_userName)
{
*userStatus = HGPDTTOOLDB_USERSTATUS_REFUSE;
}
else if (connectId != -1 && connectId != m_connectId)
{
*userStatus = HGPDTTOOLDB_USERSTATUS_CONFLICT;
}
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
@ -273,10 +273,7 @@ HGResult HGPdtToolDbUserMgrImpl::GetUserName(HGChar* userName, HGUInt maxLen)
HGResult HGPdtToolDbUserMgrImpl::RefuseUser(HGChar* userName) HGResult HGPdtToolDbUserMgrImpl::RefuseUser(HGChar* userName)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -308,10 +305,7 @@ HGResult HGPdtToolDbUserMgrImpl::RefuseUser(HGChar* userName)
HGResult HGPdtToolDbUserMgrImpl::GetUserList(HGChar** userNameList, HGUInt maxLen, HGUInt* count) HGResult HGPdtToolDbUserMgrImpl::GetUserList(HGChar** userNameList, HGUInt maxLen, HGUInt* count)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -379,10 +373,7 @@ HGResult HGPdtToolDbUserMgrImpl::ReleaseUserList(HGChar** userNameList, HGUInt c
HGResult HGPdtToolDbUserMgrImpl::CreateUser(const HGChar* userName, const HGChar* defPwd) HGResult HGPdtToolDbUserMgrImpl::CreateUser(const HGChar* userName, const HGChar* defPwd)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -436,10 +427,7 @@ HGResult HGPdtToolDbUserMgrImpl::CreateUser(const HGChar* userName, const HGChar
HGResult HGPdtToolDbUserMgrImpl::DestroyUser(const HGChar* userName) HGResult HGPdtToolDbUserMgrImpl::DestroyUser(const HGChar* userName)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -493,10 +481,7 @@ HGResult HGPdtToolDbUserMgrImpl::DestroyUser(const HGChar* userName)
HGResult HGPdtToolDbUserMgrImpl::SetPassword(const HGChar* userName, const HGChar* pwd) HGResult HGPdtToolDbUserMgrImpl::SetPassword(const HGChar* userName, const HGChar* pwd)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -521,10 +506,7 @@ HGResult HGPdtToolDbUserMgrImpl::SetPassword(const HGChar* userName, const HGCha
HGResult HGPdtToolDbUserMgrImpl::ModifyPassword(const HGChar* oldPwd, const HGChar* newPwd) HGResult HGPdtToolDbUserMgrImpl::ModifyPassword(const HGChar* oldPwd, const HGChar* newPwd)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -552,10 +534,7 @@ HGResult HGPdtToolDbUserMgrImpl::ModifyPassword(const HGChar* oldPwd, const HGCh
HGResult HGPdtToolDbUserMgrImpl::UploadFile(const HGChar* tag, const HGChar* fileName) HGResult HGPdtToolDbUserMgrImpl::UploadFile(const HGChar* tag, const HGChar* fileName)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -653,10 +632,7 @@ HGResult HGPdtToolDbUserMgrImpl::UploadFile(const HGChar* tag, const HGChar* fil
HGResult HGPdtToolDbUserMgrImpl::DownloadFile(const HGChar* tag, const HGChar* fileName) HGResult HGPdtToolDbUserMgrImpl::DownloadFile(const HGChar* tag, const HGChar* fileName)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -724,10 +700,7 @@ HGResult HGPdtToolDbUserMgrImpl::DownloadFile(const HGChar* tag, const HGChar* f
HGResult HGPdtToolDbUserMgrImpl::Export(const HGChar* xlsPath) HGResult HGPdtToolDbUserMgrImpl::Export(const HGChar* xlsPath)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -872,10 +845,7 @@ HGResult HGPdtToolDbUserMgrImpl::Export(const HGChar* xlsPath)
HGResult HGPdtToolDbUserMgrImpl::GetConfig(const HGChar* key, HGChar* value, HGUInt maxLen) HGResult HGPdtToolDbUserMgrImpl::GetConfig(const HGChar* key, HGChar* value, HGUInt maxLen)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -926,10 +896,7 @@ HGResult HGPdtToolDbUserMgrImpl::GetConfig(const HGChar* key, HGChar* value, HGU
HGResult HGPdtToolDbUserMgrImpl::SetConfig(const HGChar* key, const HGChar* value) HGResult HGPdtToolDbUserMgrImpl::SetConfig(const HGChar* key, const HGChar* value)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -961,10 +928,7 @@ HGResult HGPdtToolDbUserMgrImpl::SetConfig(const HGChar* key, const HGChar* valu
HGResult HGPdtToolDbUserMgrImpl::OpenDevice(const HGChar* sn, class HGPdtToolDbDeviceImpl** deviceImpl) HGResult HGPdtToolDbUserMgrImpl::OpenDevice(const HGChar* sn, class HGPdtToolDbDeviceImpl** deviceImpl)
{ {
HGBase_EnterLock(m_lock); if (NULL == m_sql)
HGBool valid = m_valid;
HGBase_LeaveLock(m_lock);
if (NULL == m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -999,44 +963,6 @@ HGResult HGPdtToolDbUserMgrImpl::OpenDevice(const HGChar* sn, class HGPdtToolDbD
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
void HGAPI HGPdtToolDbUserMgrImpl::ThreadFunc(HGThread thread, HGPointer param)
{
HGPdtToolDbUserMgrImpl* p = (HGPdtToolDbUserMgrImpl*)param;
while (!p->m_stopThread)
{
HGUInt event = 0;
int connectId = -1;
std::string takeUserName;
int ret = GetUserLoginInfo(p->m_sql, p->m_userName.c_str(), connectId, takeUserName);
if (0 != ret)
{
event = HGPDTTOOLDB_USEREVENT_DBERROR;
}
else if (takeUserName == "root" && takeUserName != p->m_userName)
{
event = HGPDTTOOLDB_USEREVENT_REFUSE;
}
else if (connectId != -1 && connectId != p->m_connectId)
{
event = HGPDTTOOLDB_USEREVENT_CONFLICT;
}
if (0 != event)
{
HGBase_EnterLock(p->m_lock);
p->m_valid = HGFALSE;
HGBase_LeaveLock(p->m_lock);
if (NULL != p->m_func)
p->m_func((HGPdtToolDbUserMgr)p, event, p->m_param);
break;
}
HGBase_WaitEventTimeout(p->m_event, 1000);
}
}
void HGPdtToolDbUserMgrImpl::RemoveDevice(class HGPdtToolDbDeviceImpl* deviceImpl) void HGPdtToolDbUserMgrImpl::RemoveDevice(class HGPdtToolDbDeviceImpl* deviceImpl)
{ {
std::list<class HGPdtToolDbDeviceImpl*>::iterator iter; std::list<class HGPdtToolDbDeviceImpl*>::iterator iter;
@ -1337,10 +1263,7 @@ HGPdtToolDbDeviceImpl::~HGPdtToolDbDeviceImpl()
HGResult HGPdtToolDbDeviceImpl::GetCurrEntry(HGUInt* entryName) HGResult HGPdtToolDbDeviceImpl::GetCurrEntry(HGUInt* entryName)
{ {
HGBase_EnterLock(m_userMgr->m_lock); if (NULL == m_userMgr->m_sql)
HGBool valid = m_userMgr->m_valid;
HGBase_LeaveLock(m_userMgr->m_lock);
if (NULL == m_userMgr->m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -1379,10 +1302,7 @@ HGResult HGPdtToolDbDeviceImpl::GetCurrEntry(HGUInt* entryName)
HGResult HGPdtToolDbDeviceImpl::SetCurrEntry(HGUInt entryName) HGResult HGPdtToolDbDeviceImpl::SetCurrEntry(HGUInt entryName)
{ {
HGBase_EnterLock(m_userMgr->m_lock); if (NULL == m_userMgr->m_sql)
HGBool valid = m_userMgr->m_valid;
HGBase_LeaveLock(m_userMgr->m_lock);
if (NULL == m_userMgr->m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -1405,10 +1325,7 @@ HGResult HGPdtToolDbDeviceImpl::SetCurrEntry(HGUInt entryName)
HGResult HGPdtToolDbDeviceImpl::GetEntryStatus(HGUInt entryName, HGUInt* entryStatus) HGResult HGPdtToolDbDeviceImpl::GetEntryStatus(HGUInt entryName, HGUInt* entryStatus)
{ {
HGBase_EnterLock(m_userMgr->m_lock); if (NULL == m_userMgr->m_sql)
HGBool valid = m_userMgr->m_valid;
HGBase_LeaveLock(m_userMgr->m_lock);
if (NULL == m_userMgr->m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -1454,10 +1371,7 @@ HGResult HGPdtToolDbDeviceImpl::GetEntryStatus(HGUInt entryName, HGUInt* entrySt
HGResult HGPdtToolDbDeviceImpl::SetEntryStatus(HGUInt entryName, HGUInt entryStatus) HGResult HGPdtToolDbDeviceImpl::SetEntryStatus(HGUInt entryName, HGUInt entryStatus)
{ {
HGBase_EnterLock(m_userMgr->m_lock); if (NULL == m_userMgr->m_sql)
HGBool valid = m_userMgr->m_valid;
HGBase_LeaveLock(m_userMgr->m_lock);
if (NULL == m_userMgr->m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -1508,10 +1422,7 @@ HGResult HGPdtToolDbDeviceImpl::SetEntryStatus(HGUInt entryName, HGUInt entrySta
HGResult HGPdtToolDbDeviceImpl::GetEntryExcepDesc(HGUInt entryName, HGChar* excepDesc, HGUInt maxLen) HGResult HGPdtToolDbDeviceImpl::GetEntryExcepDesc(HGUInt entryName, HGChar* excepDesc, HGUInt maxLen)
{ {
HGBase_EnterLock(m_userMgr->m_lock); if (NULL == m_userMgr->m_sql)
HGBool valid = m_userMgr->m_valid;
HGBase_LeaveLock(m_userMgr->m_lock);
if (NULL == m_userMgr->m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }
@ -1569,10 +1480,7 @@ HGResult HGPdtToolDbDeviceImpl::GetEntryExcepDesc(HGUInt entryName, HGChar* exce
HGResult HGPdtToolDbDeviceImpl::SetEntryExcepDesc(HGUInt entryName, const HGChar* excepDesc) HGResult HGPdtToolDbDeviceImpl::SetEntryExcepDesc(HGUInt entryName, const HGChar* excepDesc)
{ {
HGBase_EnterLock(m_userMgr->m_lock); if (NULL == m_userMgr->m_sql)
HGBool valid = m_userMgr->m_valid;
HGBase_LeaveLock(m_userMgr->m_lock);
if (NULL == m_userMgr->m_sql || !valid)
{ {
return HGBASE_ERR_FAIL; return HGBASE_ERR_FAIL;
} }

View File

@ -18,9 +18,9 @@ public:
HGPdtToolDbUserMgrImpl(); HGPdtToolDbUserMgrImpl();
~HGPdtToolDbUserMgrImpl(); ~HGPdtToolDbUserMgrImpl();
HGResult Create(const HGChar* host, HGUShort port, const HGChar* userName, const HGChar* pwd, HGResult Create(const HGChar* host, HGUShort port, const HGChar* userName, const HGChar* pwd);
HGPdtToolDbUserEventFunc func, HGPointer param);
HGResult Destroy(); HGResult Destroy();
HGResult GetUserStatus(HGUInt* userStatus);
HGResult GetUserType(HGUInt* userType); HGResult GetUserType(HGUInt* userType);
HGResult GetUserName(HGChar* userName, HGUInt maxLen); HGResult GetUserName(HGChar* userName, HGUInt maxLen);
HGResult RefuseUser(HGChar* userName); HGResult RefuseUser(HGChar* userName);
@ -38,7 +38,6 @@ public:
HGResult OpenDevice(const HGChar* sn, class HGPdtToolDbDeviceImpl **deviceImpl); HGResult OpenDevice(const HGChar* sn, class HGPdtToolDbDeviceImpl **deviceImpl);
private: private:
static void HGAPI ThreadFunc(HGThread thread, HGPointer param);
void RemoveDevice(class HGPdtToolDbDeviceImpl* deviceImpl); void RemoveDevice(class HGPdtToolDbDeviceImpl* deviceImpl);
static const HGChar* GetEntryNameCnStr(HGUInt entryName); static const HGChar* GetEntryNameCnStr(HGUInt entryName);
@ -64,15 +63,6 @@ private:
MYSQL* m_sql; MYSQL* m_sql;
std::string m_userName; std::string m_userName;
int m_connectId; int m_connectId;
HGPdtToolDbUserEventFunc m_func;
HGPointer m_param;
HGBool m_valid;
HGLock m_lock;
HGEvent m_event;
HGBool m_stopThread;
HGThread m_thread;
std::list<class HGPdtToolDbDeviceImpl*> m_deviceList; std::list<class HGPdtToolDbDeviceImpl*> m_deviceList;
}; };

View File

@ -8,7 +8,7 @@ int main()
HGPdtToolDb_CreateUserMgr("127.0.0.1", 3306, "root", "123456", NULL, NULL, &userMgr); HGPdtToolDb_CreateUserMgr("127.0.0.1", 3306, "root", "123456", NULL, NULL, &userMgr);
if (NULL != userMgr) if (NULL != userMgr)
{ {
Sleep(30 * 1000); //Sleep(30 * 1000);
//HGPdtToolDb_UploadFile(userMgr, "G100", "D:\\config.json"); //HGPdtToolDb_UploadFile(userMgr, "G100", "D:\\config.json");
@ -16,7 +16,7 @@ int main()
HGPdtToolDbDevice device = NULL; HGPdtToolDbDevice device = NULL;
HGPdtToolDb_OpenDevice(userMgr, "G123456", &device); HGPdtToolDb_OpenDevice(userMgr, "G123456", &device);
HGPdtToolDb_CloseDevice(device); //HGPdtToolDb_CloseDevice(device);
HGPdtToolDb_Export(userMgr, "D:\\1.xls"); HGPdtToolDb_Export(userMgr, "D:\\1.xls");
HGPdtToolDb_DestroyUserMgr(userMgr); HGPdtToolDb_DestroyUserMgr(userMgr);