| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- // Gvar.cpp: implementation of the Gvar class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "Gvar.h"
- #include "log4vendor.h"
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- Gvar::Gvar()
- {
- m_hDll = NULL;
- m_isLoad = FALSE;
- m_trace = NULL;
- m_trace = new CILIXTrace(NULL,"HSPScanner","hspscanner.nantian.1.1");
- m_connect = FALSE;
- HIGH_StartCamera = NULL;
- HIGH_GetStatus = NULL;
- HIGH_GetFirmwareVersion = NULL;
- HIGH_StopCamera = NULL;
- HIGH_SetColorType = NULL;
- HIGH_SetRotateSize = NULL;
- HIGH_SetAutoCrop = NULL;
- HIGH_CreateWindow = NULL;
- HIGH_TakePicture = NULL;
- HIGH_SetCameraPixel = NULL;
- HIGH_GetHPixelByIndex = NULL;
- HIGH_GetVPixelByIndex = NULL;
- HIGH_CloseWindow = NULL;
- HIGH_HideWindow = NULL;
- char INIPath[100] = "";
- CILIX_AUX_X::CILIX_GetModuleCurPath(INIPath);
- strcat(INIPath, "hspscanner.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 = "HSPScannerGvr";
- 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> - "<<"hspscanner.nantian.1.1.so - 版本:V1.0.0.8");
- LoadDll();
- LOG4VTM(WARN, "<Gvar> - "<<"Exit-");
- }
- Gvar::~Gvar()
- {
- if (m_hDll != 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 dllPath[1024] = "";
- strcpy(dllPath,confile);
- strcat(dllPath,"nantian/libBHCamBase.nantian.so");
- m_trace->WriteTrace(CILIXTRACE_L_INFO,"LoadDll","版本:V1.0.0.8");
- m_trace->WriteTrace(CILIXTRACE_L_INFO,"LoadDll","驱动库路径dll1Path=%s",dllPath);
- LOG4VTM(WARN, "<LoadDll> - "<<"驱动库路径dllPath = "<<dllPath);
- m_hDll = dlopen(dllPath,RTLD_LAZY);
- if (m_hDll == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库:%s加载失败",dllPath);
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库“libBHCamBase.so”加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_StartCamera = (pHIGH_StartCamera)dlsym(m_hDll,"HIGH_StartCamera");
- if (HIGH_StartCamera == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_StartCamera加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_StartCamera加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_GetStatus = (pHIGH_GetStatus)dlsym(m_hDll,"HIGH_GetStatus");
- if (HIGH_GetStatus == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_GetStatus加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_GetStatus加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_GetFirmwareVersion = (pHIGH_GetFirmwareVersion)dlsym(m_hDll,"HIGH_GetFirmwareVersion");
- if (HIGH_GetFirmwareVersion == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_GetFirmwareVersion加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_GetFirmwareVersion加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_StopCamera = (pHIGH_StopCamera)dlsym(m_hDll,"HIGH_StopCamera");
- if (HIGH_StopCamera == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_StopCamera加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_StopCamera加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_SetColorType = (pHIGH_SetColorType)dlsym(m_hDll,"HIGH_SetColorType");
- if (HIGH_SetColorType == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_SetColorType加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_SetColorType加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_SetRotateSize = (pHIGH_SetRotateSize)dlsym(m_hDll,"HIGH_SetRotateSize");
- if (HIGH_SetRotateSize == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_SetRotateSize加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_SetRotateSize加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_SetAutoCrop = (pHIGH_SetAutoCrop)dlsym(m_hDll,"HIGH_SetAutoCrop");
- if (HIGH_SetAutoCrop == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_SetAutoCrop加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_SetAutoCrop加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_CreateWindow = (pHIGH_CreateWindow)dlsym(m_hDll,"HIGH_CreateWindow");
- if (HIGH_CreateWindow == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_CreateWindow加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_CreateWindow加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_TakePicture = (pHIGH_TakePicture)dlsym(m_hDll,"HIGH_TakePicture");
- if (HIGH_TakePicture == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_TakePicture加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_TakePicture加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_SetCameraPixel = (pHIGH_SetCameraPixel)dlsym(m_hDll,"HIGH_SetCameraPixel");
- if (HIGH_SetCameraPixel == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_SetCameraPixel加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_SetCameraPixel加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_GetHPixelByIndex = (pHIGH_GetHPixelByIndex)dlsym(m_hDll,"HIGH_GetHPixelByIndex");
- if (HIGH_GetHPixelByIndex == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_GetHPixelByIndex加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_GetHPixelByIndex加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_GetVPixelByIndex = (pHIGH_GetVPixelByIndex)dlsym(m_hDll,"HIGH_GetVPixelByIndex");
- if (HIGH_GetVPixelByIndex == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_GetVPixelByIndex加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_GetVPixelByIndex加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_CloseWindow = (pHIGH_CloseWindow)dlsym(m_hDll,"HIGH_CloseWindow");
- if (HIGH_CloseWindow == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_CloseWindow加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_CloseWindow加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"Exit-");
- return;
- }
- HIGH_HideWindow = (pHIGH_HideWindow)dlsym(m_hDll,"HIGH_HideWindow");
- if (HIGH_HideWindow == NULL)
- {
- m_trace->WriteTrace(CILIXTRACE_L_ERROR,"LoadDll","动态库函数HIGH_HideWindow加载失败");
- LOG4VTM(WARN, "<LoadDll> - "<<"动态库函数HIGH_HideWindow加载失败");
- 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_hDll)
- {
- dlclose(m_hDll);
- m_hDll = 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);
- }
|