添加 获取海康NVR时区的API

This commit is contained in:
2024-10-28 13:24:18 +08:00
parent 3fd2fc4062
commit 10f587962f
3 changed files with 36 additions and 36 deletions

View File

@@ -23,6 +23,7 @@ var (
initNvr func(unsafe.Pointer, string, string, string, string, int) bool initNvr func(unsafe.Pointer, string, string, string, string, int) bool
checkTimeRegionWithMonth func(core unsafe.Pointer, year int, month int) string checkTimeRegionWithMonth func(core unsafe.Pointer, year int, month int) string
checkTimeRegionWithDay func(core unsafe.Pointer, year int, month int, day int) string checkTimeRegionWithDay func(core unsafe.Pointer, year int, month int, day int) string
nvrUTCDiff func(core unsafe.Pointer)
) )
func init() { func init() {
@@ -45,6 +46,7 @@ func init() {
purego.RegisterLibFunc(&initNvr, libc, "InitNvr") purego.RegisterLibFunc(&initNvr, libc, "InitNvr")
purego.RegisterLibFunc(&checkTimeRegionWithMonth, libc, "CheckTimeRegionWithMonth") purego.RegisterLibFunc(&checkTimeRegionWithMonth, libc, "CheckTimeRegionWithMonth")
purego.RegisterLibFunc(&checkTimeRegionWithDay, libc, "CheckTimeRegionWithDay") purego.RegisterLibFunc(&checkTimeRegionWithDay, libc, "CheckTimeRegionWithDay")
purego.RegisterLibFunc(&nvrUTCDiff, libc, "NvrUTCDiff")
} }

View File

@@ -29,7 +29,7 @@ extern "C" {
Omnimatrix bool InitNvr(void* PtrHIKNvr,char* ip, char* port, char* username, char* password, int channel); 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* CheckTimeRegionWithMonth(void* PtrHIKNvr,int year,int month);
Omnimatrix char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day); Omnimatrix char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day);
Omnimatrix int NvrUTCDiff(); Omnimatrix int NvrUTCDiff(void* PtrHIKNvr);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@@ -3,50 +3,50 @@
#include "src/HIKNvr.h" #include "src/HIKNvr.h"
#include <cstring> #include <cstring>
bool DVR_Init(){ bool DVR_Init() {
return HK_DVR_Init(); return HK_DVR_Init();
} }
void* NewHIKBallCamera() { void *NewHIKBallCamera() {
return new HIKBallCamera(); return new HIKBallCamera();
} }
bool InitBallCamera(void* PtrHIKBallCamera,const char* ip, const char* port,const char* username,const char* password,const char* BallMachineType){ bool InitBallCamera(void *PtrHIKBallCamera, const char *ip, const char *port, const char *username, const char *password, const char *BallMachineType) {
auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
return HIKBallCameraObj->InitBallCamera(ip,port,username,password,BallMachineType); return HIKBallCameraObj->InitBallCamera(ip, port, username, password, BallMachineType);
} }
bool PtzGotoPut(void* PtrHIKBallCamera,int Action, float P, float T, float Z){ bool PtzGotoPut(void *PtrHIKBallCamera, int Action, float P, float T, float Z) {
auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
return HIKBallCameraObj->PtzGotoPut(Action,P,T,Z); return HIKBallCameraObj->PtzGotoPut(Action, P, T, Z);
} }
bool PtzGet(void* PtrHIKBallCamera,void *P, void *T, void *Z){ bool PtzGet(void *PtrHIKBallCamera, void *P, void *T, void *Z) {
auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
return HIKBallCameraObj->PtzGet((float*)P,(float*)T,(float*)Z); return HIKBallCameraObj->PtzGet((float *)P, (float *)T, (float *)Z);
} }
bool StopBus(void* PtrHIKBallCamera,int direction){ bool StopBus(void *PtrHIKBallCamera, int direction) {
auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
return HIKBallCameraObj->StopBus(direction); return HIKBallCameraObj->StopBus(direction);
} }
bool StartBus(void* PtrHIKBallCamera,int direction,int speed){ bool StartBus(void *PtrHIKBallCamera, int direction, int speed) {
auto* HIKBallCameraObj = (HIKBallCamera*)PtrHIKBallCamera; auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
return HIKBallCameraObj->StartBus(direction,speed); return HIKBallCameraObj->StartBus(direction, speed);
} }
void* NewHIKNvr(){ void *NewHIKNvr() {
return new HIKNvr(); return new HIKNvr();
} }
bool InitNvr(void* PtrHIKNvr,char* ip, char* port, char* username, char* password, int channel){ bool InitNvr(void *PtrHIKNvr, char *ip, char *port, char *username, char *password, int channel) {
auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
return HIKNvrObj->InitNvr(ip,port,username,password,channel); return HIKNvrObj->InitNvr(ip, port, username, password, channel);
} }
char* CheckTimeRegionWithMonth(void* PtrHIKNvr,int year,int month){ char *CheckTimeRegionWithMonth(void *PtrHIKNvr, int year, int month) {
auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
DateTime select_time; DateTime select_time;
select_time.year() = year; select_time.year() = year;
@@ -58,17 +58,16 @@ char* CheckTimeRegionWithMonth(void* PtrHIKNvr,int year,int month){
std::vector<int> available_date_vec; std::vector<int> available_date_vec;
nRet = HIKNvrObj->CheckTimeRegionWithMonth(select_time, 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(); res = HIKNvrObj->TimeToJson(select_time, &available_date_vec).dump();
} }
char* cString = new char[res.size() + 1]; char *cString = new char[res.size() + 1];
std::strcpy(cString,res.c_str()); std::strcpy(cString, res.c_str());
return cString; return cString;
} }
char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day){ char *CheckTimeRegionWithDay(void *PtrHIKNvr, int year, int month, int day) {
auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
DateTime select_time; DateTime select_time;
select_time.year() = year; select_time.year() = year;
select_time.month() = month; select_time.month() = month;
@@ -76,16 +75,15 @@ char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day){
std::string res; std::string res;
std::vector<TimeRecord> available_time_vec; std::vector<TimeRecord> available_time_vec;
int nRet = HIKNvrObj->CheckTimeRegionWithDay(select_time, available_time_vec); int nRet = HIKNvrObj->CheckTimeRegionWithDay(select_time, available_time_vec);
if (nRet == 0) if (nRet == 0) {
{ res = HIKNvrObj->TimeToJsonInDay(select_time, &available_time_vec).dump();
res = HIKNvrObj->TimeToJsonInDay(select_time, &available_time_vec).dump();
} }
char* cString = new char[res.size() + 1]; char *cString = new char[res.size() + 1];
std::strcpy(cString,res.c_str()); std::strcpy(cString, res.c_str());
return cString; return cString;
} }
int NvrUTCDiff(void* PtrHIKNvr){ int NvrUTCDiff(void *PtrHIKNvr) {
auto* HIKNvrObj = (HIKNvr*)PtrHIKNvr; auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
return HIKNvrObj->GetNvrUTCDiff(); return HIKNvrObj->GetNvrUTCDiff();
} }