2022-12-08 09:40:43 +00:00
|
|
|
|
#ifndef __HGPDTTOOLDBIMPL_H__
|
|
|
|
|
#define __HGPDTTOOLDBIMPL_H__
|
|
|
|
|
|
|
|
|
|
#include "base/HGDef.h"
|
|
|
|
|
#include "base/HGBaseErr.h"
|
2022-12-15 07:13:21 +00:00
|
|
|
|
#include "base/HGLock.h"
|
|
|
|
|
#include "base/HGEvent.h"
|
|
|
|
|
#include "base/HGThread.h"
|
|
|
|
|
#include "HGPdtToolDb.h"
|
2022-12-08 09:40:43 +00:00
|
|
|
|
#include "mysql.h"
|
2022-12-22 06:41:47 +00:00
|
|
|
|
#include "curl/curl.h"
|
2022-12-08 09:40:43 +00:00
|
|
|
|
#include <string>
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
|
|
class HGPdtToolDbUserMgrImpl
|
|
|
|
|
{
|
|
|
|
|
friend class HGPdtToolDbDeviceImpl;
|
|
|
|
|
public:
|
|
|
|
|
HGPdtToolDbUserMgrImpl();
|
|
|
|
|
~HGPdtToolDbUserMgrImpl();
|
|
|
|
|
|
2022-12-22 02:07:16 +00:00
|
|
|
|
HGResult Create(const HGChar* host, HGUShort port, const HGChar* userName, const HGChar* pwd);
|
2022-12-08 09:40:43 +00:00
|
|
|
|
HGResult Destroy();
|
2022-12-22 02:07:16 +00:00
|
|
|
|
HGResult GetUserStatus(HGUInt* userStatus);
|
2022-12-09 09:39:01 +00:00
|
|
|
|
HGResult GetUserType(HGUInt* userType);
|
|
|
|
|
HGResult GetUserName(HGChar* userName, HGUInt maxLen);
|
2022-12-15 07:13:21 +00:00
|
|
|
|
HGResult RefuseUser(HGChar* userName);
|
2022-12-09 09:39:01 +00:00
|
|
|
|
HGResult GetUserList(HGChar** userNameList, HGUInt maxLen, HGUInt *count);
|
|
|
|
|
static HGResult ReleaseUserList(HGChar** userNameList, HGUInt count);
|
|
|
|
|
HGResult CreateUser(const HGChar* userName, const HGChar* defPwd);
|
|
|
|
|
HGResult DestroyUser(const HGChar* userName);
|
|
|
|
|
HGResult SetPassword(const HGChar* userName, const HGChar* pwd);
|
2022-12-12 02:32:01 +00:00
|
|
|
|
HGResult ModifyPassword(const HGChar* oldPwd, const HGChar* newPwd);
|
2022-12-14 09:32:48 +00:00
|
|
|
|
HGResult UploadFile(const HGChar* tag, const HGChar* fileName);
|
|
|
|
|
HGResult DownloadFile(const HGChar* tag, const HGChar* fileName);
|
2022-12-08 09:40:43 +00:00
|
|
|
|
HGResult Export(const HGChar* xlsPath);
|
|
|
|
|
HGResult GetConfig(const HGChar *key, HGChar *value, HGUInt maxLen);
|
|
|
|
|
HGResult SetConfig(const HGChar* key, const HGChar *value);
|
|
|
|
|
HGResult OpenDevice(const HGChar* sn, class HGPdtToolDbDeviceImpl **deviceImpl);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
void RemoveDevice(class HGPdtToolDbDeviceImpl* deviceImpl);
|
|
|
|
|
static const HGChar* GetEntryNameCnStr(HGUInt entryName);
|
|
|
|
|
|
2022-12-12 09:05:43 +00:00
|
|
|
|
static std::string GetPassword(MYSQL* sql, const HGChar* userName);
|
|
|
|
|
static std::string GetAuthString(MYSQL* sql, const HGChar* pwd);
|
2022-12-15 07:13:21 +00:00
|
|
|
|
static int GetConnectId(MYSQL* sql);
|
2022-12-15 10:21:28 +00:00
|
|
|
|
static int SetUserLoginInfo(MYSQL* sql, const HGChar* userName, int connectId, const std::string& takeUserName);
|
2022-12-15 09:46:35 +00:00
|
|
|
|
static int GetUserLoginInfo(MYSQL* sql, const HGChar* userName, int &connectId, std::string &takeUserName);
|
2022-12-12 09:05:43 +00:00
|
|
|
|
|
2022-12-14 09:32:48 +00:00
|
|
|
|
int CreateFileTable(MYSQL* sql);
|
2022-12-08 09:40:43 +00:00
|
|
|
|
int CreateMainTestTable(MYSQL *sql);
|
|
|
|
|
int CreateInitInspTestTable(MYSQL* sql);
|
|
|
|
|
int CreateInitInspDescTable(MYSQL* sql);
|
|
|
|
|
int CreateImgInspTestTable(MYSQL* sql);
|
|
|
|
|
int CreateImgInspDescTable(MYSQL* sql);
|
|
|
|
|
int CreatePreInspTestTable(MYSQL* sql);
|
|
|
|
|
int CreatePreInspDescTable(MYSQL* sql);
|
2022-12-22 06:41:47 +00:00
|
|
|
|
int CreateInspImageTable(MYSQL* sql);
|
2022-12-08 09:40:43 +00:00
|
|
|
|
|
|
|
|
|
int InitMainTestItem(const HGChar *sn);
|
|
|
|
|
int InitInspTestItem(const HGChar* tableName, const HGChar* sn);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
MYSQL* m_sql;
|
2022-12-09 09:39:01 +00:00
|
|
|
|
std::string m_userName;
|
2022-12-15 07:13:21 +00:00
|
|
|
|
int m_connectId;
|
2022-12-08 09:40:43 +00:00
|
|
|
|
std::list<class HGPdtToolDbDeviceImpl*> m_deviceList;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class HGPdtToolDbDeviceImpl
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
HGPdtToolDbDeviceImpl(class HGPdtToolDbUserMgrImpl* userMgr, const HGChar* sn);
|
|
|
|
|
~HGPdtToolDbDeviceImpl();
|
|
|
|
|
|
|
|
|
|
HGResult GetCurrEntry(HGUInt* entryName);
|
|
|
|
|
HGResult SetCurrEntry(HGUInt entryName);
|
|
|
|
|
HGResult GetEntryStatus(HGUInt entryName, HGUInt* entryStatus);
|
|
|
|
|
HGResult SetEntryStatus(HGUInt entryName, HGUInt entryStatus);
|
|
|
|
|
HGResult GetEntryExcepDesc(HGUInt entryName, HGChar* excepDesc, HGUInt maxLen);
|
|
|
|
|
HGResult SetEntryExcepDesc(HGUInt entryName, const HGChar* excepDesc);
|
2022-12-22 06:41:47 +00:00
|
|
|
|
HGResult DownloadEntryImage(HGUInt entryName, const HGChar *ftpHost, HGUShort ftpPort, const HGChar* fileName);
|
|
|
|
|
HGResult UploadEntryImage(HGUInt entryName, const HGChar* ftpHost, HGUShort ftpPort, const HGChar *fileName);
|
2022-12-08 09:40:43 +00:00
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
const HGChar* GetEntryNameStr(HGUInt entryName);
|
|
|
|
|
const HGChar* GetTestTableName(HGUInt entryName);
|
|
|
|
|
const HGChar* GetDescTableName(HGUInt entryName);
|
|
|
|
|
|
2022-12-22 06:41:47 +00:00
|
|
|
|
private:
|
|
|
|
|
// FTP
|
|
|
|
|
static HGResult UploadFile(const HGChar *host, HGUShort port, const HGChar* localPath, const HGChar *remotePath);
|
|
|
|
|
static HGResult DownloadFile(const HGChar* host, HGUShort port, const HGChar* remotePath, const HGChar* localPath);
|
|
|
|
|
|
2022-12-08 09:40:43 +00:00
|
|
|
|
private:
|
|
|
|
|
class HGPdtToolDbUserMgrImpl* m_userMgr;
|
|
|
|
|
std::string m_sn;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif /* __HGPDTTOOLDBIMPL_H__ */
|