123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #include "GVar.h"
- #include "../../include/log4vendor.h"
- GVar::GVar()
- {
- m_pAlloc = new CILIX_Allocator();
- m_pDRVObj = NULL;
- m_bIsConnected = FALSE;
- m_bIsCancel = FALSE;
- m_hInsDRV = NULL;
- m_pTrace = new CILIXTrace(NULL,"BY_ID81S","idcer.Nantian");
- memset(m_IniFilePath,0,sizeof(m_IniFilePath));
- sprintf(m_IniFilePath,"./dev/ZQ_689S.ini");
- memset(m_errMsg,0,MAX_LEN);
- TheardEnd = false;
- ReadFlg = false;
- picflg = false;
- }
- GVar::~GVar()
- {
- if (m_hInsDRV)
- {
- //释放动态库句柄
- m_pDestroyDRV(m_pDRVObj);
- //FreeLibrary(m_hInsDRV);
- dlclose(m_hInsDRV);
- m_hInsDRV = NULL;
- m_pDRVObj = NULL;
- }
- if (m_pTrace)
- {
- delete m_pTrace;
- m_pTrace = NULL;
- }
-
- if (m_pAlloc)
- {
- delete m_pAlloc;
- m_pAlloc = NULL;
- }
- }
- int GVar::LoadDRVDLL()
- {
- CILIX_AUX_X::CILIX_GetModuleCurPath(m_dllPath);
- //char szPathDRV[512] = { 0 };
- strcat(m_dllPath,"/nantian/libDRV_BY_ID81S.nantian.so");
- // sprintf(szPathDRV, "./dev/nantian.libDRV_ZQ_689S.so");
- m_hInsDRV = dlopen(m_dllPath,RTLD_LAZY);
- if (!m_hInsDRV)
- {
- LOG4VTM(FATAL, "<IDCer> - "<<"load fail!,soPath = "<<m_dllPath);
- m_pTrace->WriteTrace(CILIXTRACE_L_ERROR, "LoadDRVDLL",
- "DRV Load error, path:%s", m_dllPath);
- return -1;
- }
- else
- {
- m_pCretateDRV = (pCreateDRV)dlsym(m_hInsDRV, "Create_DRV_IDCardReader");
- m_pDestroyDRV = (pDestroyDRV)dlsym(m_hInsDRV, "Destroy_DRV_IDCardReader");
- }
- if (!m_pCretateDRV || !m_pDestroyDRV)
- {
- LOG4VTM(FATAL, "<IDCer> - "<<"DRV SO dlsym error!");
- m_pTrace->WriteTrace(CILIXTRACE_L_ERROR, "LoadDRVDLL",
- "DRV Dll dlsym error");
- return -2;
- }
- else
- {
- m_pDRVObj = m_pCretateDRV();
- }
- return 0;
- }
- void GVar::FreeArryBuf(void ** pBuf, int len)
- {
- if (pBuf == NULL || len == 0)
- {
- return;
- }
- for (size_t i = 0; i < len; i++)
- {
- if (pBuf[i] != NULL)
- {
- delete pBuf[i];
- pBuf[i] = NULL;
- }
- }
- }
- void GVar::SwitchNationToCode(char* pNation, char* pCode)
- {
- if (pNation == NULL ||
- pCode == NULL)
- {
- return;
- }
- if (strcmp(pNation, "柯尔人") == 0)
- {
- strcpy(pCode, "57");
- }
- if (strcmp(pNation, "穿青人") == 0)
- {
- strcpy(pCode, "59");
- }
- if (strcmp(pNation, "亻革家人") == 0)
- {
- strcpy(pCode, "60");
- }
- if (strcmp(pNation, "摩梭人") == 0)
- {
- strcpy(pCode, "95");
- }
- }
- void GVar::AddCharToDate(char* SourceStr, char Addchar)
- {
- string strTemp(SourceStr);
- strTemp.insert(4, 1, Addchar);
- strTemp.insert(7, 1, Addchar);
- memcpy(SourceStr, strTemp.c_str(), strTemp.size());
- }
|