From 10f587962f8635d86edbabe461ab9dc6dd116ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=B8=85=E9=94=9F?= <811096647@qq.com> Date: Mon, 28 Oct 2024 13:24:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=B5=B7=E5=BA=B7NVR=E6=97=B6=E5=8C=BA=E7=9A=84API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Hikvision.go | 2 ++ include/library.h | 2 +- library.cpp | 68 +++++++++++++++++++++++------------------------ 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Hikvision.go b/Hikvision.go index 194ad9b..2f56f6f 100644 --- a/Hikvision.go +++ b/Hikvision.go @@ -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") } diff --git a/include/library.h b/include/library.h index d1146f5..eca4a1c 100644 --- a/include/library.h +++ b/include/library.h @@ -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 } diff --git a/library.cpp b/library.cpp index f843071..254bd39 100644 --- a/library.cpp +++ b/library.cpp @@ -3,50 +3,50 @@ #include "src/HIKNvr.h" #include -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 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 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(); } \ No newline at end of file