添加 获取海康NVR时区的API
This commit is contained in:
		| @@ -23,6 +23,7 @@ var ( | ||||
| 	initNvr                  func(unsafe.Pointer, string, string, string, string, int) bool | ||||
| 	checkTimeRegionWithMonth func(core unsafe.Pointer, year int, month int) string | ||||
| 	checkTimeRegionWithDay   func(core unsafe.Pointer, year int, month int, day int) string | ||||
| 	nvrUTCDiff               func(core unsafe.Pointer) | ||||
| ) | ||||
|  | ||||
| func init() { | ||||
| @@ -45,6 +46,7 @@ func init() { | ||||
| 	purego.RegisterLibFunc(&initNvr, libc, "InitNvr") | ||||
| 	purego.RegisterLibFunc(&checkTimeRegionWithMonth, libc, "CheckTimeRegionWithMonth") | ||||
| 	purego.RegisterLibFunc(&checkTimeRegionWithDay, libc, "CheckTimeRegionWithDay") | ||||
| 	purego.RegisterLibFunc(&nvrUTCDiff, libc, "NvrUTCDiff") | ||||
|  | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -29,7 +29,7 @@ extern "C" { | ||||
|     Omnimatrix bool InitNvr(void* PtrHIKNvr,char* ip, char* port, char* username, char* password, int channel); | ||||
|     Omnimatrix char* CheckTimeRegionWithMonth(void* PtrHIKNvr,int year,int month); | ||||
|     Omnimatrix char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day); | ||||
|     Omnimatrix int NvrUTCDiff(); | ||||
|     Omnimatrix int NvrUTCDiff(void* PtrHIKNvr); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
							
								
								
									
										68
									
								
								library.cpp
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								library.cpp
									
									
									
									
									
								
							| @@ -3,50 +3,50 @@ | ||||
| #include "src/HIKNvr.h" | ||||
| #include <cstring> | ||||
|  | ||||
| bool DVR_Init(){ | ||||
| bool DVR_Init() { | ||||
|     return HK_DVR_Init(); | ||||
| } | ||||
|  | ||||
| void* NewHIKBallCamera() { | ||||
| void *NewHIKBallCamera() { | ||||
|     return new HIKBallCamera(); | ||||
| } | ||||
|  | ||||
| bool InitBallCamera(void* PtrHIKBallCamera,const char* ip, const char* port,const char* username,const char* password,const char* BallMachineType){ | ||||
|     auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->InitBallCamera(ip,port,username,password,BallMachineType); | ||||
| bool InitBallCamera(void *PtrHIKBallCamera, const char *ip, const char *port, const char *username, const char *password, const char *BallMachineType) { | ||||
|     auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->InitBallCamera(ip, port, username, password, BallMachineType); | ||||
| } | ||||
|  | ||||
| bool PtzGotoPut(void* PtrHIKBallCamera,int Action, float P, float T, float Z){ | ||||
|     auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->PtzGotoPut(Action,P,T,Z); | ||||
| bool PtzGotoPut(void *PtrHIKBallCamera, int Action, float P, float T, float Z) { | ||||
|     auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->PtzGotoPut(Action, P, T, Z); | ||||
| } | ||||
|  | ||||
| bool PtzGet(void* PtrHIKBallCamera,void *P, void *T, void *Z){ | ||||
|     auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->PtzGet((float*)P,(float*)T,(float*)Z); | ||||
| bool PtzGet(void *PtrHIKBallCamera, void *P, void *T, void *Z) { | ||||
|     auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->PtzGet((float *)P, (float *)T, (float *)Z); | ||||
| } | ||||
|  | ||||
| bool StopBus(void* PtrHIKBallCamera,int direction){ | ||||
|     auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; | ||||
| bool StopBus(void *PtrHIKBallCamera, int direction) { | ||||
|     auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->StopBus(direction); | ||||
| } | ||||
|  | ||||
| bool StartBus(void* PtrHIKBallCamera,int direction,int speed){ | ||||
|     auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->StartBus(direction,speed); | ||||
| bool StartBus(void *PtrHIKBallCamera, int direction, int speed) { | ||||
|     auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; | ||||
|     return HIKBallCameraObj->StartBus(direction, speed); | ||||
| } | ||||
|  | ||||
| void* NewHIKNvr(){ | ||||
| void *NewHIKNvr() { | ||||
|     return new HIKNvr(); | ||||
| } | ||||
|  | ||||
| bool InitNvr(void* PtrHIKNvr,char* ip, char* port, char* username, char* password, int channel){ | ||||
|     auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; | ||||
|     return HIKNvrObj->InitNvr(ip,port,username,password,channel); | ||||
| bool InitNvr(void *PtrHIKNvr, char *ip, char *port, char *username, char *password, int channel) { | ||||
|     auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; | ||||
|     return HIKNvrObj->InitNvr(ip, port, username, password, channel); | ||||
| } | ||||
|  | ||||
| char* CheckTimeRegionWithMonth(void* PtrHIKNvr,int year,int month){ | ||||
|     auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; | ||||
| char *CheckTimeRegionWithMonth(void *PtrHIKNvr, int year, int month) { | ||||
|     auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; | ||||
|  | ||||
|     DateTime select_time; | ||||
|     select_time.year() = year; | ||||
| @@ -58,17 +58,16 @@ char* CheckTimeRegionWithMonth(void* PtrHIKNvr,int year,int month){ | ||||
|     std::vector<int> available_date_vec; | ||||
|     nRet = HIKNvrObj->CheckTimeRegionWithMonth(select_time, available_date_vec); | ||||
|  | ||||
|     if (nRet == 0) | ||||
|     { | ||||
|     if (nRet == 0) { | ||||
|         res = HIKNvrObj->TimeToJson(select_time, &available_date_vec).dump(); | ||||
|     } | ||||
|     char* cString = new char[res.size() + 1]; | ||||
|     std::strcpy(cString,res.c_str()); | ||||
|     char *cString = new char[res.size() + 1]; | ||||
|     std::strcpy(cString, res.c_str()); | ||||
|     return cString; | ||||
| } | ||||
|  | ||||
| char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day){ | ||||
|     auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; | ||||
| char *CheckTimeRegionWithDay(void *PtrHIKNvr, int year, int month, int day) { | ||||
|     auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; | ||||
|     DateTime select_time; | ||||
|     select_time.year() = year; | ||||
|     select_time.month() = month; | ||||
| @@ -76,16 +75,15 @@ char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day){ | ||||
|     std::string res; | ||||
|     std::vector<TimeRecord> available_time_vec; | ||||
|     int nRet = HIKNvrObj->CheckTimeRegionWithDay(select_time, available_time_vec); | ||||
|     if (nRet == 0) | ||||
|     { | ||||
|          res = HIKNvrObj->TimeToJsonInDay(select_time, &available_time_vec).dump(); | ||||
|     if (nRet == 0) { | ||||
|         res = HIKNvrObj->TimeToJsonInDay(select_time, &available_time_vec).dump(); | ||||
|     } | ||||
|     char* cString = new char[res.size() + 1]; | ||||
|     std::strcpy(cString,res.c_str()); | ||||
|     char *cString = new char[res.size() + 1]; | ||||
|     std::strcpy(cString, res.c_str()); | ||||
|     return cString; | ||||
| } | ||||
|  | ||||
| int NvrUTCDiff(void* PtrHIKNvr){ | ||||
|     auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; | ||||
| int NvrUTCDiff(void *PtrHIKNvr) { | ||||
|     auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; | ||||
|     return HIKNvrObj->GetNvrUTCDiff(); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user