Skip to content

Commit 2179822

Browse files
committed
modify:plugin loader init and destory code.
1 parent 09b3c44 commit 2179822

File tree

6 files changed

+40
-14
lines changed

6 files changed

+40
-14
lines changed

XEngine_Source/XEngine_ModulePlugin/ModulePlugin_Define.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,15 @@ extern "C" bool ModulePlugin_LuaCore_Destroy();
206206
* 加载器导出函数定义 *
207207
*********************************************************************************/
208208
/********************************************************************
209+
函数名称:ModulePlugin_Loader_Init
210+
函数功能:初始化插件加载器
211+
返回值
212+
类型:逻辑型
213+
意思:是否成功
214+
备注:
215+
*********************************************************************/
216+
extern "C" bool ModulePlugin_Loader_Init();
217+
/********************************************************************
209218
函数名称:ModulePlugin_Loader_Insert
210219
函数功能:插入一个模块到加载器
211220
参数.一:lpszModuleMethod

XEngine_Source/XEngine_ModulePlugin/ModulePlugin_Loader/ModulePlugin_Loader.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,21 @@ CModulePlugin_Loader::~CModulePlugin_Loader()
2121
// 公有函数
2222
//////////////////////////////////////////////////////////////////////////
2323
/********************************************************************
24+
函数名称:ModulePlugin_Loader_Init
25+
函数功能:初始化插件加载器
26+
返回值
27+
类型:逻辑型
28+
意思:是否成功
29+
备注:
30+
*********************************************************************/
31+
bool CModulePlugin_Loader::ModulePlugin_Loader_Init()
32+
{
33+
ModulePlugin_LibCore_Init();
34+
ModulePlugin_LuaCore_Init();
35+
36+
return true;
37+
}
38+
/********************************************************************
2439
函数名称:ModulePlugin_Loader_Insert
2540
函数功能:插入一个模块到加载器
2641
参数.一:lpszModuleMethod
@@ -213,6 +228,9 @@ bool CModulePlugin_Loader::ModulePlugin_Loader_Destory()
213228
{
214229
ModulePlugin_IsErrorOccur = false;
215230

231+
ModulePlugin_LibCore_Destroy();
232+
ModulePlugin_LuaCore_Destroy();
233+
216234
st_Locker.lock();
217235
stl_MapLoader.clear();
218236
st_Locker.unlock_shared();

XEngine_Source/XEngine_ModulePlugin/ModulePlugin_Loader/ModulePlugin_Loader.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class CModulePlugin_Loader
2424
CModulePlugin_Loader();
2525
~CModulePlugin_Loader();
2626
public:
27+
bool ModulePlugin_Loader_Init();
2728
bool ModulePlugin_Loader_Insert(LPCXSTR lpszModuleMethod, LPCXSTR lpszModuleName, int nType = 0);
2829
bool ModulePlugin_Loader_Find(LPCXSTR lpszMethodName, int* pInt_Type);
2930
bool ModulePlugin_Loader_Exec(LPCXSTR lpszMethodName, XCHAR*** pppHDRList, int nListCount, int* pInt_HTTPCode, XCHAR* ptszMsgBuffer, int* pInt_MsgLen);

XEngine_Source/XEngine_ModulePlugin/XEngine_ModulePlugin.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ EXPORTS
1313
ModulePlugin_LuaCore_Exec
1414
ModulePlugin_LuaCore_Destroy
1515

16+
ModulePlugin_Loader_Init
1617
ModulePlugin_Loader_Insert
1718
ModulePlugin_Loader_Find
1819
ModulePlugin_Loader_Exec

XEngine_Source/XEngine_ModulePlugin/pch.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ extern "C" bool ModulePlugin_LibCore_Destroy()
5252
/*********************************************************************************
5353
* LUA插件框架导出函数定义 *
5454
*********************************************************************************/
55+
extern "C" bool ModulePlugin_Loader_Init()
56+
{
57+
return m_PluginLoader.ModulePlugin_Loader_Init();
58+
}
5559
extern "C" bool ModulePlugin_LuaCore_Init()
5660
{
5761
return m_PluginLua.ModulePlugin_LuaCore_Init();

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ void ServiceApp_Stop(int signo)
4242
ModuleDatabase_XLog_Destory();
4343
ModuleDatabase_ShortLink_Destory();
4444
//销毁其他
45-
ModulePlugin_LibCore_Destroy();
46-
ModulePlugin_LuaCore_Destroy();
45+
ModulePlugin_Loader_Destory();
4746
ModuleHelp_P2PClient_Destory();
4847
//销毁日志资源
4948
HelpComponents_XLog_Destroy(xhLog);
@@ -118,7 +117,7 @@ int main(int argc, char** argv)
118117
//重载配置文件后退出
119118
XCHAR tszAddr[128];
120119
memset(tszAddr, '\0', sizeof(tszAddr));
121-
//http://127.0.0.1:5501/api?function=reload&opcode=1
120+
//http://127.0.0.1:5501/api?function=reload&opcode=0
122121
_xstprintf(tszAddr, _X("http://127.0.0.1:%d/api?function=reload&opcode=%d"), st_ServiceConfig.nHttpPort, st_ServiceConfig.st_XReload.byCode);
123122
APIClient_Http_Request(_X("GET"), tszAddr);
124123
return 0;
@@ -275,13 +274,13 @@ int main(int argc, char** argv)
275274
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动P2P客户端管理器成功,超时时间设置:%d 秒"), st_ServiceConfig.st_XTime.nP2PTimeOut);
276275

277276
//启动插件
278-
if (!ModulePlugin_LibCore_Init())
277+
if (!ModulePlugin_Loader_Init())
279278
{
280-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化Lib插件系统失败,错误:%lX"), ModulePlugin_GetLastError());
279+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化插件系统失败,错误:%lX"), ModulePlugin_GetLastError());
281280
goto XENGINE_SERVICEAPP_EXIT;
282281
}
282+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化插件系统成功,开始加载插件"));
283283
//加载插件
284-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化Lib插件系统成功,开始加载插件"));
285284
{
286285
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginLibConfig.pStl_ListPlugin->begin();
287286
for (int i = 1; stl_ListIterator != st_PluginLibConfig.pStl_ListPlugin->end(); stl_ListIterator++, i++)
@@ -303,12 +302,7 @@ int main(int argc, char** argv)
303302
}
304303
}
305304
}
306-
if (!ModulePlugin_LuaCore_Init())
307-
{
308-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化Lua插件系统失败,错误:%lX"), ModulePlugin_GetLastError());
309-
goto XENGINE_SERVICEAPP_EXIT;
310-
}
311-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化Lua插件系统成功,开始加载插件"));
305+
312306
{
313307
list<XENGINE_PLUGININFO>::const_iterator stl_ListIterator = st_PluginLuaConfig.pStl_ListPlugin->begin();
314308
for (int i = 1; stl_ListIterator != st_PluginLuaConfig.pStl_ListPlugin->end(); stl_ListIterator++, i++)
@@ -356,8 +350,7 @@ int main(int argc, char** argv)
356350
ModuleDatabase_XLog_Destory();
357351
ModuleDatabase_ShortLink_Destory();
358352
//销毁其他
359-
ModulePlugin_LibCore_Destroy();
360-
ModulePlugin_LuaCore_Destroy();
353+
ModulePlugin_Loader_Destory();
361354
ModuleHelp_P2PClient_Destory();
362355
//销毁日志资源
363356
HelpComponents_XLog_Destroy(xhLog);

0 commit comments

Comments
 (0)