添加 获取海康NVR时区的API
This commit is contained in:
@@ -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")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
66
library.cpp
66
library.cpp
@@ -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();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user