123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- /**************************************************************************
- 作者: huangjiangbo
- 时间: 2024.08.26
- 描述: 各模组Config数据库操作基类
- 修改记录:
- 1、
- ***************************************************************************/
- #pragma once
- //#pragma warning(disable:4251)
- #include "CppSQLite3.h"
- #include "dt.h"
- #include <string>
- #include <windows.h>
- #include <vector>
- #include <mutex>
- namespace ns_db
- {
- using namespace std;
- #ifdef CONFIG_BASE_DLL
- #define DLL_CONFIG_BASE_API __declspec(dllexport)
- #else
- #define DLL_CONFIG_BASE_API
- #endif
- typedef struct _CONFIG_BASE_STRUCT
- {
- INT iNo_;
- INT iGroupId;
- string strName;
- string strDescribe;
- INT iUserGrade;
- INT iChangeFlag;
- string strValue;
- string strType;
- string strDefult;
- string strLowerLimit;
- string strUpperLimit;
- string strUnit;
- string sIcon;
- bool bEnable;
- string strCallFun;
- }CONFIG_BASE_STRUCT;
- enum CONFIG_TYPE
- {
- CONFIG_LONG = 0,
- CONFIG_ULONG,
- CONFIG_INT,
- CONFIG_DOUBLE,
- CONFIG_BOOL,
- CONFIG_STRING
- };
- typedef struct _MODULE_CONFIG_STRUCT
- {
- string strName;
- void* pValue;
- CONFIG_TYPE config_type;
- bool bSave;
- void* pDefault;
- _MODULE_CONFIG_STRUCT(string strTemp, LONG* pTemp, bool isSaveTemp, LONG* pDef = NULL)
- {
- strName = strTemp;
- pValue = (void*)pTemp;
- config_type = CONFIG_TYPE::CONFIG_LONG;
- bSave = isSaveTemp;
- pDefault = (void*)pDef;
- }
- _MODULE_CONFIG_STRUCT(string strTemp, ULONG* pTemp, bool isSaveTemp, ULONG* pDef = NULL)
- {
- strName = strTemp;
- pValue = (void*)pTemp;
- config_type = CONFIG_TYPE::CONFIG_ULONG;
- bSave = isSaveTemp;
- pDefault = (void*)pDef;
- }
- _MODULE_CONFIG_STRUCT(string strTemp, int* pTemp, bool isSaveTemp, int* pDef = NULL)
- {
- strName = strTemp;
- pValue = (void*)pTemp;
- config_type = CONFIG_TYPE::CONFIG_INT;
- bSave = isSaveTemp;
- pDefault = (void*)pDef;
- }
- _MODULE_CONFIG_STRUCT(string strTemp, unsigned int* pTemp, bool isSaveTemp, unsigned int* pDef = NULL)
- {
- strName = strTemp;
- pValue = (void*)pTemp;
- config_type = CONFIG_TYPE::CONFIG_INT;
- bSave = isSaveTemp;
- pDefault = (void*)pDef;
- }
- _MODULE_CONFIG_STRUCT(string strTemp, double* pTemp, bool isSaveTemp, double* pDef = NULL)
- {
- strName = strTemp;
- pValue = (void*)pTemp;
- config_type = CONFIG_TYPE::CONFIG_DOUBLE;
- bSave = isSaveTemp;
- pDefault = (void*)pDef;
- }
- _MODULE_CONFIG_STRUCT(string strTemp, bool* pTemp, bool isSaveTemp, bool* pDef = NULL)
- {
- strName = strTemp;
- pValue = (void*)pTemp;
- config_type = CONFIG_TYPE::CONFIG_BOOL;
- bSave = isSaveTemp;
- pDefault = (void*)pDef;
- }
- _MODULE_CONFIG_STRUCT(string strTemp, string* pTemp, bool isSaveTemp, string* pDef = NULL)
- {
- strName = strTemp;
- pValue = (void*)pTemp;
- config_type = CONFIG_TYPE::CONFIG_STRING;
- bSave = isSaveTemp;
- pDefault = (void*)pDef;
- }
- }MODULE_CONFIG_STRUCT;
- class DLL_CONFIG_BASE_API CConfigBase
- {
- public:
- CConfigBase(string sPathFile, CppSQLite3DB* pDB);
- LONG LoadConfigDB(string strTableName, vector<CONFIG_BASE_STRUCT>& vecConfig);
- LONG SaveConfigDB(string strTableName, vector<CONFIG_BASE_STRUCT>* vecConfig);
- LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, string& value);
- LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, CHAR* value, UINT len);
- LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, LONG* value);
- LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, ULONG* value);
- LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, INT* value);
- LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, DOUBLE* value);
- LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, bool* value);
- LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, const CHAR* value);
- LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, string value);
- LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, LONG value);
- LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, ULONG value);
- LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, INT value);
- LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, DOUBLE value);
- LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, bool value);
- LONG GetConfigParam(vector<CONFIG_BASE_STRUCT> stConfig, vector<MODULE_CONFIG_STRUCT>* vecconfig);
- LONG SetConfigParam(vector<CONFIG_BASE_STRUCT>* stConfig, vector<MODULE_CONFIG_STRUCT> vecconfig);
- private:
- CppSQLite3DB* m_pDB;
- std::string m_sPathFile = "";
- };
- }
|