Skip to content

Commit 7bd2ac6

Browse files
committed
modify:merge lua and lib configure
1 parent 59d31b7 commit 7bd2ac6

File tree

8 files changed

+71
-83
lines changed

8 files changed

+71
-83
lines changed

XEngine_Release/XEngine_Config/XEngine_Config.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@
4242
},
4343
"XPlugin":{
4444
"bEnable":true,
45-
"tszPluginLib":"./XEngine_Config/XEngine_PluginLib.json",
46-
"tszPluginLua":"./XEngine_Config/XEngine_PluginLua.json"
45+
"tszPlugin":"./XEngine_Config/XEngine_Plugin.json"
4746
},
4847
"XConfig":{
4948
"st_ConfigQRCode":{

XEngine_Release/XEngine_Config/XEngine_PluginLib.json renamed to XEngine_Release/XEngine_Config/XEngine_Plugin.json

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"PluginArray":[
2+
"PluginModule":[
33
{
44
"PluginEnable":true,
55
"PluginMethod":"zodiac",
@@ -25,5 +25,22 @@
2525
"PluginMethod":"meter",
2626
"PluginFile":"./XEngine_LibPlugin/libModulePlugin_Meter"
2727
}
28+
],
29+
"PluginLua":[
30+
{
31+
"PluginEnable":true,
32+
"PluginMethod":"cal",
33+
"PluginFile":"./XEngine_LuaPlugin/ModulePlugin_Calculation.lua"
34+
},
35+
{
36+
"PluginEnable":true,
37+
"PluginMethod":"time",
38+
"PluginFile":"./XEngine_LuaPlugin/ModulePlugin_OSTime.lua"
39+
},
40+
{
41+
"PluginEnable":true,
42+
"PluginMethod":"heart",
43+
"PluginFile":"./XEngine_LuaPlugin/ModulePlugin_Heart.lua"
44+
}
2845
]
2946
}

XEngine_Release/XEngine_Config/XEngine_PluginLua.json

Lines changed: 0 additions & 19 deletions
This file was deleted.

XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,7 @@ typedef struct
6666
struct
6767
{
6868
bool bEnable; //是否启用
69-
XCHAR tszPluginLib[MAX_PATH]; //配置文件地址
70-
XCHAR tszPluginLua[MAX_PATH]; //配置文件地址
69+
XCHAR tszPlugin[MAX_PATH]; //配置文件地址
7170
}st_XPlugin;
7271
struct
7372
{
@@ -136,7 +135,8 @@ typedef struct
136135
}XENGINE_PLUGININFO;
137136
typedef struct
138137
{
139-
list<XENGINE_PLUGININFO>* pStl_ListPlugin;
138+
list<XENGINE_PLUGININFO>* pStl_ListPluginModule;
139+
list<XENGINE_PLUGININFO>* pStl_ListPluginLua;
140140
}XENGINE_PLUGINCONFIG;
141141
//////////////////////////////////////////////////////////////////////////
142142
typedef struct

XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -154,16 +154,15 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE
154154
_tcsxcpy(pSt_ServerConfig->st_XSql.tszSQLUser, st_JsonXSql["SQLUser"].asCString());
155155
_tcsxcpy(pSt_ServerConfig->st_XSql.tszSQLPass, st_JsonXSql["SQLPass"].asCString());
156156

157-
if (st_JsonRoot["XPlugin"].empty() || (3 != st_JsonRoot["XPlugin"].size()))
157+
if (st_JsonRoot["XPlugin"].empty() || (2 != st_JsonRoot["XPlugin"].size()))
158158
{
159159
Config_IsErrorOccur = true;
160160
Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XPLUGIN;
161161
return false;
162162
}
163163
Json::Value st_JsonXPlugin = st_JsonRoot["XPlugin"];
164164
pSt_ServerConfig->st_XPlugin.bEnable = st_JsonXPlugin["bEnable"].asBool();
165-
_tcsxcpy(pSt_ServerConfig->st_XPlugin.tszPluginLib, st_JsonXPlugin["tszPluginLib"].asCString());
166-
_tcsxcpy(pSt_ServerConfig->st_XPlugin.tszPluginLua, st_JsonXPlugin["tszPluginLua"].asCString());
165+
_tcsxcpy(pSt_ServerConfig->st_XPlugin.tszPlugin, st_JsonXPlugin["tszPlugin"].asCString());
167166

168167
if (st_JsonRoot["XConfig"].empty() || (4 != st_JsonRoot["XConfig"].size()))
169168
{
@@ -382,36 +381,46 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_PluginFile(LPCXSTR lpszConfigFi
382381
return false;
383382
}
384383
//申请内存
385-
pSt_PluginConfig->pStl_ListPlugin = new list<XENGINE_PLUGININFO>;
386-
if (NULL == pSt_PluginConfig->pStl_ListPlugin)
384+
pSt_PluginConfig->pStl_ListPluginLua = new list<XENGINE_PLUGININFO>;
385+
pSt_PluginConfig->pStl_ListPluginModule = new list<XENGINE_PLUGININFO>;
386+
if (NULL == pSt_PluginConfig->pStl_ListPluginLua || NULL == pSt_PluginConfig->pStl_ListPluginModule)
387387
{
388388
Config_IsErrorOccur = true;
389389
Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_MALLOC;
390390
return false;
391391
}
392-
//解析列表
393-
Json::Value st_JsonArray = st_JsonRoot["PluginArray"];
394-
for (unsigned int i = 0; i < st_JsonArray.size(); i++)
392+
//解析module列表
393+
Json::Value st_JsonModuleArray = st_JsonRoot["PluginModule"];
394+
for (unsigned int i = 0; i < st_JsonModuleArray.size(); i++)
395395
{
396396
XENGINE_PLUGININFO st_PluginInfo;
397397
memset(&st_PluginInfo, '\0', sizeof(XENGINE_PLUGININFO));
398398

399-
st_PluginInfo.bEnable = st_JsonArray[i]["PluginEnable"].asBool();
400-
_tcsxcpy(st_PluginInfo.tszPluginFile, st_JsonArray[i]["PluginFile"].asCString());
401-
402-
if (NULL == _tcsxstr(st_PluginInfo.tszPluginFile + 3,_X(".")))
403-
{
399+
st_PluginInfo.bEnable = st_JsonModuleArray[i]["PluginEnable"].asBool();
400+
_tcsxcpy(st_PluginInfo.tszPluginFile, st_JsonModuleArray[i]["PluginFile"].asCString());
404401
#ifdef _MSC_BUILD
405-
_tcsxcat(st_PluginInfo.tszPluginFile, ".dll");
402+
_tcsxcat(st_PluginInfo.tszPluginFile, ".dll");
406403
#elif __linux__
407-
_tcsxcat(st_PluginInfo.tszPluginFile, ".so");
404+
_tcsxcat(st_PluginInfo.tszPluginFile, ".so");
408405
#else
409-
_tcsxcat(st_PluginInfo.tszPluginFile, ".dylib");
406+
_tcsxcat(st_PluginInfo.tszPluginFile, ".dylib");
410407
#endif
411-
}
408+
_tcsxcpy(st_PluginInfo.tszPluginMethod, st_JsonModuleArray[i]["PluginMethod"].asCString());
409+
410+
pSt_PluginConfig->pStl_ListPluginModule->push_back(st_PluginInfo);
411+
}
412+
//解析lua列表
413+
Json::Value st_JsonLuaArray = st_JsonRoot["PluginLua"];
414+
for (unsigned int i = 0; i < st_JsonLuaArray.size(); i++)
415+
{
416+
XENGINE_PLUGININFO st_PluginInfo;
417+
memset(&st_PluginInfo, '\0', sizeof(XENGINE_PLUGININFO));
418+
419+
st_PluginInfo.bEnable = st_JsonLuaArray[i]["PluginEnable"].asBool();
420+
_tcsxcpy(st_PluginInfo.tszPluginFile, st_JsonLuaArray[i]["PluginFile"].asCString());
421+
_tcsxcpy(st_PluginInfo.tszPluginMethod, st_JsonLuaArray[i]["PluginMethod"].asCString());
412422

413-
_tcsxcpy(st_PluginInfo.tszPluginMethod, st_JsonArray[i]["PluginMethod"].asCString());
414-
pSt_PluginConfig->pStl_ListPlugin->push_back(st_PluginInfo);
423+
pSt_PluginConfig->pStl_ListPluginLua->push_back(st_PluginInfo);
415424
}
416425
return true;
417426
}

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,7 @@ extern XHANDLE xhHTTPPool;
139139
extern unique_ptr<thread> pSTDThread_Deamon;
140140
//配置文件
141141
extern XENGINE_SERVICECONFIG st_ServiceConfig;
142-
extern XENGINE_PLUGINCONFIG st_PluginLibConfig;
143-
extern XENGINE_PLUGINCONFIG st_PluginLuaConfig;
142+
extern XENGINE_PLUGINCONFIG st_PluginConfig;
144143
extern XENGINE_DEAMONAPPLIST st_DeamonAppConfig;
145144
//连接库
146145
#ifdef _MSC_BUILD

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ XHANDLE xhHTTPPool = NULL;
2323
unique_ptr<thread> pSTDThread_Deamon = NULL;
2424
//配置文件
2525
XENGINE_SERVICECONFIG st_ServiceConfig;
26-
XENGINE_PLUGINCONFIG st_PluginLibConfig;
27-
XENGINE_PLUGINCONFIG st_PluginLuaConfig;
26+
XENGINE_PLUGINCONFIG st_PluginConfig;
2827
XENGINE_DEAMONAPPLIST st_DeamonAppConfig;
2928

3029
void ServiceApp_Stop(int signo)
@@ -147,8 +146,7 @@ int main(int argc, char** argv)
147146

148147
memset(&st_XLogConfig, '\0', sizeof(HELPCOMPONENTS_XLOG_CONFIGURE));
149148
memset(&st_ServiceConfig, '\0', sizeof(XENGINE_SERVICECONFIG));
150-
memset(&st_PluginLibConfig, '\0', sizeof(XENGINE_PLUGINCONFIG));
151-
memset(&st_PluginLuaConfig, '\0', sizeof(XENGINE_PLUGINCONFIG));
149+
memset(&st_PluginConfig, '\0', sizeof(XENGINE_PLUGINCONFIG));
152150

153151
//初始化参数
154152
if (!XEngine_Configure_Parament(argc, argv))
@@ -403,18 +401,12 @@ int main(int argc, char** argv)
403401
//初始化插件配置
404402
if (st_ServiceConfig.st_XPlugin.bEnable)
405403
{
406-
if (!ModuleConfigure_Json_PluginFile(st_ServiceConfig.st_XPlugin.tszPluginLib, &st_PluginLibConfig))
404+
if (!ModuleConfigure_Json_PluginFile(st_ServiceConfig.st_XPlugin.tszPlugin, &st_PluginConfig))
407405
{
408406
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化Lib插件配置文件失败,错误:%lX"), ModuleConfigure_GetLastError());
409407
goto XENGINE_SERVICEAPP_EXIT;
410408
}
411-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化Lib插件配置文件成功"));
412-
if (!ModuleConfigure_Json_PluginFile(st_ServiceConfig.st_XPlugin.tszPluginLua, &st_PluginLuaConfig))
413-
{
414-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化Lua插件配置文件失败,错误:%lX"), ModuleConfigure_GetLastError());
415-
goto XENGINE_SERVICEAPP_EXIT;
416-
}
417-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化Lua插件配置文件成功"));
409+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化插件配置文件成功"));
418410
//启动插件
419411
if (!ModulePlugin_Loader_Init())
420412
{
@@ -423,8 +415,8 @@ int main(int argc, char** argv)
423415
}
424416
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化插件系统成功,开始加载插件"));
425417
//加载插件
426-
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginLibConfig.pStl_ListPlugin->begin();
427-
for (int i = 1; stl_ListIterator != st_PluginLibConfig.pStl_ListPlugin->end(); stl_ListIterator++, i++)
418+
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginConfig.pStl_ListPluginModule->begin();
419+
for (int i = 1; stl_ListIterator != st_PluginConfig.pStl_ListPluginModule->end(); stl_ListIterator++, i++)
428420
{
429421
if (stl_ListIterator->bEnable)
430422
{
@@ -443,8 +435,8 @@ int main(int argc, char** argv)
443435
}
444436
}
445437
#if (1 == _XENGINE_BUILD_SWITCH_LUA)
446-
stl_ListIterator = st_PluginLuaConfig.pStl_ListPlugin->begin();
447-
for (int i = 1; stl_ListIterator != st_PluginLuaConfig.pStl_ListPlugin->end(); stl_ListIterator++, i++)
438+
stl_ListIterator = st_PluginConfig.pStl_ListPluginLua->begin();
439+
for (int i = 1; stl_ListIterator != st_PluginConfig.pStl_ListPluginLua->end(); stl_ListIterator++, i++)
448440
{
449441
if (stl_ListIterator->bEnable)
450442
{
@@ -466,7 +458,7 @@ int main(int argc, char** argv)
466458
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,加载Lua模块插件失败,因为LUA编译被关闭"));
467459
#endif
468460
//展示能力
469-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,加载的Lib插件:%d 个,Lua插件:%d 个"), st_PluginLibConfig.pStl_ListPlugin->size(), st_PluginLuaConfig.pStl_ListPlugin->size());
461+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,加载的Lib插件:%d 个,Lua插件:%d 个"), st_PluginConfig.pStl_ListPluginModule->size(), st_PluginConfig.pStl_ListPluginLua->size());
470462
}
471463
else
472464
{

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Reload.cpp

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,25 @@ bool HTTPTask_TaskGet_Reload(LPCXSTR lpszClientAddr, LPCXSTR lpszOPCode)
2222
else if (1 == _ttxoi(lpszOPCode))
2323
{
2424
ModulePlugin_Loader_Destory();
25-
delete st_PluginLibConfig.pStl_ListPlugin;
26-
delete st_PluginLuaConfig.pStl_ListPlugin;
27-
st_PluginLibConfig.pStl_ListPlugin = NULL;
28-
st_PluginLuaConfig.pStl_ListPlugin = NULL;
25+
delete st_PluginConfig.pStl_ListPluginLua;
26+
delete st_PluginConfig.pStl_ListPluginModule;
27+
st_PluginConfig.pStl_ListPluginLua = NULL;
28+
st_PluginConfig.pStl_ListPluginModule = NULL;
2929

3030
ModulePlugin_Loader_Init();
31-
if (!ModuleConfigure_Json_PluginFile(st_ServiceConfig.st_XPlugin.tszPluginLib, &st_PluginLibConfig))
31+
if (!ModuleConfigure_Json_PluginFile(st_ServiceConfig.st_XPlugin.tszPlugin, &st_PluginConfig))
3232
{
3333
st_HDRParam.nHttpCode = 500;
3434
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam);
3535
XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen);
3636
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求操作配置重载失败,加载Lib插件配置失败,错误:%lX"), lpszClientAddr, ModuleConfigure_GetLastError());
3737
return false;
3838
}
39-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作配置重载成功,加载Lib插件配置成功"), lpszClientAddr);
40-
if (!ModuleConfigure_Json_PluginFile(st_ServiceConfig.st_XPlugin.tszPluginLua, &st_PluginLuaConfig))
41-
{
42-
st_HDRParam.nHttpCode = 500;
43-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam);
44-
XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen);
45-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求操作配置重载失败,加载Lua插件配置失败,错误:%lX"), lpszClientAddr, ModuleConfigure_GetLastError());
46-
return false;
47-
}
48-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作配置重载成功,加载lua插件配置成功"), lpszClientAddr);
39+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作配置重载成功,加载插件配置成功"), lpszClientAddr);
4940

5041
{
51-
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginLibConfig.pStl_ListPlugin->begin();
52-
for (int i = 1; stl_ListIterator != st_PluginLibConfig.pStl_ListPlugin->end(); stl_ListIterator++, i++)
42+
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginConfig.pStl_ListPluginModule->begin();
43+
for (int i = 1; stl_ListIterator != st_PluginConfig.pStl_ListPluginModule->end(); stl_ListIterator++, i++)
5344
{
5445
if (stl_ListIterator->bEnable)
5546
{
@@ -69,8 +60,8 @@ bool HTTPTask_TaskGet_Reload(LPCXSTR lpszClientAddr, LPCXSTR lpszOPCode)
6960
}
7061
}
7162
{
72-
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginLuaConfig.pStl_ListPlugin->begin();
73-
for (int i = 1; stl_ListIterator != st_PluginLuaConfig.pStl_ListPlugin->end(); stl_ListIterator++, i++)
63+
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginConfig.pStl_ListPluginLua->begin();
64+
for (int i = 1; stl_ListIterator != st_PluginConfig.pStl_ListPluginLua->end(); stl_ListIterator++, i++)
7465
{
7566
if (stl_ListIterator->bEnable)
7667
{
@@ -91,7 +82,7 @@ bool HTTPTask_TaskGet_Reload(LPCXSTR lpszClientAddr, LPCXSTR lpszOPCode)
9182
}
9283
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam);
9384
XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen);
94-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求重载插件成功,Lib插件:%d 个,Lua插件:%d 个"), lpszClientAddr, st_PluginLibConfig.pStl_ListPlugin->size(), st_PluginLuaConfig.pStl_ListPlugin->size());
85+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求重载插件成功,Lib插件:%d 个,Lua插件:%d 个"), lpszClientAddr, st_PluginConfig.pStl_ListPluginModule->size(), st_PluginConfig.pStl_ListPluginLua->size());
9586
}
9687
else if (3 == _ttxoi(lpszOPCode))
9788
{

0 commit comments

Comments
 (0)