| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- // Gvar.cpp: implementation of the Gvar class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "Gvar.h"
- #include "log4vendor.h"
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- Gvar::Gvar()
- {
- m_hDll1 = NULL;
- m_isLoad = FALSE;
- m_trace = NULL;
- m_trace = new CILIXTrace(NULL,"FingerPrint","fingerprint.nantian.1.1");
- m_connect = FALSE;
- m_cancel = FALSE;
- FPIGetHdrVer = NULL;
- FPIGetFrwVer = NULL;
- FPIChkPressed = NULL;
- FPIGetDevSN = NULL;
- FPIFindDevice = NULL;
- FPIGetFeature = NULL;
- FPIGetImageDat = NULL;
- FPIRawToBmp = NULL;
- FPISaveImage = NULL;
- FPIFeaFrmImg = NULL;
- FPITplFrmImg = NULL;
- FPIFpMatch = NULL;
- FPICloseDevice = NULL;
- FPITplFrmImgBmp = NULL;
- m_port = 0;
- char INIPath[100] = "";
- CILIX_AUX_X::CILIX_GetModuleCurPath(INIPath);
- strcat(INIPath, "fingerprint.nantian.ini");
- char log_dir[100] = "";
- CILIX_AUX_X::CILIX_X_INIKeyString(INIPath, "LOGConfig", "log_dir", log_dir, "/etc/nantian");
- char log_level[100] = "";
- CILIX_AUX_X::CILIX_X_INIKeyString(INIPath, "LOGConfig", "log_level", log_level, "3");
- cmb::log_init_config config;
- config.dev_name = "FingerPrintGvr";
- config.log_dir = log_dir;
- config.log_level = atoi(log_level);
- std::string str;
- cmb::log4vendor::init(config, str);
- LOG4VTM(WARN, "<Gvar> - "<<"Enter-");
- LOG4VTM(WARN, "<Gvar> - "<<"fingerprint.nantian.1.1.so - 版本:V1.0.0.9");
- LoadDll();
- LOG4VTM(WARN, "<Gvar> - "<<"Exit-");
- }
- Gvar::~Gvar()
- {
- if (m_hDll1 != NULL)
- {
- FreeDll();
- }
- if (m_trace)
- {
- delete m_trace;
- m_trace = NULL;
- }
- }
- void Gvar::LoadDll()
- {
- LOG4VTM(WARN, "<LoadDll> - "<<"Enter-");
- char confile[1024] = "";
- CILIX_AUX_X::CILIX_GetModuleCurPath(confile);
- char dll1Path[1024] = "";
- strcpy(dll1Path,confile);
- memset(m_image,0,sizeof(m_image));
- strcpy(m_image,confile);
- strcat(dll1Path,"/nantian/libusbfpex64.nantian.so");
- m_trace->WriteTrace(CILIXTRACE_L_INFO,"LoadDll","版本:V1.0.0.9");
- m_trace->WriteTrace(CILIXTRACE_L_INFO,"LoadDll","驱动库路径dll1Path=%s",dll1Path);
- LOG4VTM(WARN, "<LoadDll> - "<<"驱动库路径dll1Path = "<<dll1Path);
- m_hDll1 = dlopen(dll1Path,RTLD_LAZY);
- if (m_hDll1 == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库“libusbfpex64.nantian.so”加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Load libusbfpex64.nantian.so Fail");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIGetHdrVer = (PFPIGetHdrVer)dlsym(m_hDll1,"FPIGetHdrVer");
- if (FPIGetHdrVer == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIGetHdrVer加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIGetHdrVer加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIGetFrwVer = (PFPIGetFrwVer)dlsym(m_hDll1,"FPIGetFrwVer");
- if (FPIGetFrwVer == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIGetFrwVer加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIGetFrwVer加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIChkPressed = (PFPIChkPressed)dlsym(m_hDll1,"FPIChkPressed");
- if (FPIChkPressed == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIChkPressed加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIChkPressed加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIGetDevSN = (PFPIGetDevSN)dlsym(m_hDll1,"FPIGetDevSN");
- if (FPIGetDevSN == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIGetDevSN加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIGetDevSN加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIFindDevice = (PFPIFindDevice)dlsym(m_hDll1,"FPIFindDevice");
- if (FPIFindDevice == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIFindDevice加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIFindDevice加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIGetFeature = (PFPIGetFeature)dlsym(m_hDll1,"FPIGetFeature");
- if (FPIGetFeature == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIGetFeature加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIGetFeature加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIGetImageDat = (PFPIGetImageDat)dlsym(m_hDll1,"FPIGetImageDat");
- if (FPIGetImageDat == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIGetImageDat加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIGetImageDat加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIRawToBmp = (PFPIRawToBmp)dlsym(m_hDll1,"FPIRawToBmp");
- if (FPIRawToBmp == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIRawToBmp加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIRawToBmp加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPISaveImage = (PFPISaveImage)dlsym(m_hDll1,"FPISaveImage");
- if (FPISaveImage == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPISaveImage加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPISaveImage加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIFeaFrmImg = (PFPIFeaFrmImg)dlsym(m_hDll1,"FPIFeaFrmImg");
- if (FPIFeaFrmImg == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIFeaFrmImg加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIFeaFrmImg加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPITplFrmImg = (PFPITplFrmImg)dlsym(m_hDll1,"FPITplFrmImg");
- if (FPITplFrmImg == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPITplFrmImg加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPITplFrmImg加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPIFpMatch = (PFPIFpMatch)dlsym(m_hDll1,"FPIFpMatch");
- if (FPIFpMatch == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPIFpMatch加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPIFpMatch加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPICloseDevice = (PFPICloseDevice)dlsym(m_hDll1,"FPICloseDevice");
- if (FPICloseDevice == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPICloseDevice加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPICloseDevice加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- FPITplFrmImgBmp = (PFPITplFrmImgBmp)dlsym(m_hDll1,"FPITplFrmImgBmp");
- if (FPITplFrmImgBmp == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数FPITplFrmImgBmp加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数FPITplFrmImgBmp加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- m_isLoad = TRUE;
- m_trace->WriteTrace(CILIXTRACE_L_INFO,"LoadDll","动态库加载成功退出接口");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库加载成功退出接口");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return ;
- }
- void Gvar::FreeDll()
- {
- if (m_hDll1)
- {
- dlclose(m_hDll1);
- m_hDll1 = NULL;
- }
- }
- int Gvar::WriteFileEx(char *filename, char *Value, int ValueLen)
- {
- FILE *fp;
- if(NULL == (fp = fopen(filename, "w+"))) {
- perror("fopen");
- return -1;
- }
- fwrite(Value, 1, ValueLen, fp);
- fclose(fp);
- return 0;
- }
- int Gvar::ReadFileEx(char *filename, char *Value, int *ValueLen)
- {
- FILE *fp;
- if(NULL == (fp = fopen(filename, "r"))) {
- perror("fopen");
- return -1;
- }
- fseek(fp, 0L, SEEK_END);
- *ValueLen = ftell(fp);
- fseek(fp, 0L, SEEK_SET);
- int f = fread(Value, 1, *ValueLen, fp);
- fclose(fp);
- return 0;
- }
- void Gvar::CreateFileEx(char* path,char* data,int ilen)
- {
- int i = 0;
- char FilePath[100] = "";
- FilePath[0] = path[0];
- for(i= 1; i<=strlen(path); i++)
- {
- FilePath[i] = path[i];
- if(path[i] == '/')
- {
- if(access(FilePath, F_OK) != 0)
- {
- mkdir(FilePath,S_IRUSR | S_IWUSR | S_IXUSR | S_IRWXG | S_IRWXO);
- }
- }
- }
- WriteFileEx(FilePath,data,ilen);
- }
|