Explorar el Código

添加 获取海康NVR时区的API

王帅锟 hace 6 meses
padre
commit
10f587962f
Se han modificado 3 ficheros con 36 adiciones y 36 borrados
  1. 2 0
      Hikvision.go
  2. 1 1
      include/library.h
  3. 33 35
      library.cpp

+ 2 - 0
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")
 
 }
 

+ 1 - 1
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
 }

+ 33 - 35
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();
 }