You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
#include "CDllCoreCtrl.h"
|
|
|
|
|
|
|
|
|
|
|
|
#define _USE_LIB_CORECTRL_DLL
|
|
|
|
|
|
#ifdef _USE_LIB_CORECTRL_DLL
|
|
|
|
|
|
#include "DllLoader.h"
|
|
|
|
|
|
#else
|
|
|
|
|
|
extern "C" ICoreCtrl* Lib_CoreCtrl_Init();
|
|
|
|
|
|
extern "C" void Lib_CoreCtrl_Free(ICoreCtrl*);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#include "QZkJsonParser.h"
|
|
|
|
|
|
|
|
|
|
|
|
CDllCoreCtrl::CDllCoreCtrl(const ZStringList& szDllPaths,class IDetectorEngine* pDE /*= NULL*/)
|
|
|
|
|
|
{
|
|
|
|
|
|
m_szDllPaths = szDllPaths;
|
|
|
|
|
|
#ifdef _USE_LIB_CORECTRL_DLL
|
|
|
|
|
|
m_pLibCoreCtrl = new CDllLoaderM("lpCoreCtrl", "Lib_CoreCtrl_Init", "Lib_CoreCtrl_Free", m_szDllPaths);
|
|
|
|
|
|
if (NULL != m_pLibCoreCtrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
m_pCoreCtrl = (ICoreCtrl*)m_pLibCoreCtrl->ModuleInit(nullptr);
|
|
|
|
|
|
if (NULL != m_pCoreCtrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
m_pCoreCtrl->IInitCore(pDE);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
tpDebugOut("failed to get instance from tpCoreCtrl.dll");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
tpDebugOut("failed to load tpCoreCtrl.dll");
|
|
|
|
|
|
}
|
|
|
|
|
|
#else
|
|
|
|
|
|
m_pLibCoreCtrl = NULL;
|
|
|
|
|
|
m_pCoreCtrl = (ICoreCtrl*)Lib_CoreCtrl_Init();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CDllCoreCtrl::~CDllCoreCtrl()
|
|
|
|
|
|
{
|
|
|
|
|
|
if (NULL != m_pCoreCtrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
#ifdef _USE_LIB_CORECTRL_DLL
|
|
|
|
|
|
m_pCoreCtrl->IFreeCore();
|
|
|
|
|
|
delete m_pCoreCtrl;
|
|
|
|
|
|
// if (NULL != m_pLibCoreCtrl)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// m_pLibCoreCtrl->ModuleFree();
|
|
|
|
|
|
// }
|
|
|
|
|
|
#else
|
|
|
|
|
|
Lib_CoreCtrl_Free(m_pCoreCtrl);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
m_pCoreCtrl = NULL;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (NULL != m_pLibCoreCtrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
delete m_pLibCoreCtrl;
|
|
|
|
|
|
m_pLibCoreCtrl = NULL;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|