93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "include/library.h"
 | |
| #include "./src/HIKBallCamera.h"
 | |
| #include "src/HIKNvr.h"
 | |
| #include <cstring>
 | |
| 
 | |
| bool DVR_Init() {
 | |
|     return HK_DVR_Init();
 | |
| }
 | |
| 
 | |
| 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 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 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);
 | |
| }
 | |
| 
 | |
| 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);
 | |
| }
 | |
| 
 | |
| char *CheckTimeRegionWithMonth(void *PtrHIKNvr, int year, int month) {
 | |
|     auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
 | |
| 
 | |
|     DateTime select_time;
 | |
|     select_time.year() = year;
 | |
|     select_time.month() = month;
 | |
|     std::string res;
 | |
| 
 | |
|     //check the time region with month
 | |
|     int nRet = 0;
 | |
|     std::vector<int> available_date_vec;
 | |
|     nRet = HIKNvrObj->CheckTimeRegionWithMonth(select_time, available_date_vec);
 | |
| 
 | |
|     if (nRet == 0) {
 | |
|         res = HIKNvrObj->TimeToJson(select_time, &available_date_vec).dump();
 | |
|     }else{
 | |
|         res = "";
 | |
|     }
 | |
|     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;
 | |
|     DateTime select_time;
 | |
|     select_time.year() = year;
 | |
|     select_time.month() = month;
 | |
|     select_time.day() = 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();
 | |
|     }else{
 | |
|         res = "";
 | |
|     }
 | |
|     char *cString = new char[res.size() + 1];
 | |
|     std::strcpy(cString, res.c_str());
 | |
|     return cString;
 | |
| }
 | |
| 
 | |
| int NvrUTCDiff(void *PtrHIKNvr) {
 | |
|     auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
 | |
|     return HIKNvrObj->GetNvrUTCDiff();
 | |
| } |