library.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #include "include/library.h"
  2. #include "./src/HIKBallCamera.h"
  3. #include "src/HIKNvr.h"
  4. #include <cstring>
  5. bool DVR_Init() {
  6. return HK_DVR_Init();
  7. }
  8. void *NewHIKBallCamera() {
  9. return new HIKBallCamera();
  10. }
  11. bool InitBallCamera(void *PtrHIKBallCamera, const char *ip, const char *port, const char *username, const char *password, const char *BallMachineType) {
  12. auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
  13. return HIKBallCameraObj->InitBallCamera(ip, port, username, password, BallMachineType);
  14. }
  15. bool PtzGotoPut(void *PtrHIKBallCamera, int Action, float P, float T, float Z) {
  16. auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
  17. return HIKBallCameraObj->PtzGotoPut(Action, P, T, Z);
  18. }
  19. bool PtzGet(void *PtrHIKBallCamera, void *P, void *T, void *Z) {
  20. auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
  21. return HIKBallCameraObj->PtzGet((float *)P, (float *)T, (float *)Z);
  22. }
  23. bool StopBus(void *PtrHIKBallCamera, int direction) {
  24. auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
  25. return HIKBallCameraObj->StopBus(direction);
  26. }
  27. bool StartBus(void *PtrHIKBallCamera, int direction, int speed) {
  28. auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera;
  29. return HIKBallCameraObj->StartBus(direction, speed);
  30. }
  31. void *NewHIKNvr() {
  32. return new HIKNvr();
  33. }
  34. bool InitNvr(void *PtrHIKNvr, char *ip, char *port, char *username, char *password, int channel) {
  35. auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
  36. return HIKNvrObj->InitNvr(ip, port, username, password, channel);
  37. }
  38. char *CheckTimeRegionWithMonth(void *PtrHIKNvr, int year, int month) {
  39. auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
  40. DateTime select_time;
  41. select_time.year() = year;
  42. select_time.month() = month;
  43. std::string res;
  44. //check the time region with month
  45. int nRet = 0;
  46. std::vector<int> available_date_vec;
  47. nRet = HIKNvrObj->CheckTimeRegionWithMonth(select_time, available_date_vec);
  48. if (nRet == 0) {
  49. res = HIKNvrObj->TimeToJson(select_time, &available_date_vec).dump();
  50. }else{
  51. res = "";
  52. }
  53. char *cString = new char[res.size() + 1];
  54. std::strcpy(cString, res.c_str());
  55. return cString;
  56. }
  57. char *CheckTimeRegionWithDay(void *PtrHIKNvr, int year, int month, int day) {
  58. auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
  59. DateTime select_time;
  60. select_time.year() = year;
  61. select_time.month() = month;
  62. select_time.day() = day;
  63. std::string res;
  64. std::vector<TimeRecord> available_time_vec;
  65. int nRet = HIKNvrObj->CheckTimeRegionWithDay(select_time, available_time_vec);
  66. if (nRet == 0) {
  67. res = HIKNvrObj->TimeToJsonInDay(select_time, &available_time_vec).dump();
  68. }else{
  69. res = "";
  70. }
  71. char *cString = new char[res.size() + 1];
  72. std::strcpy(cString, res.c_str());
  73. return cString;
  74. }
  75. int NvrUTCDiff(void *PtrHIKNvr) {
  76. auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr;
  77. return HIKNvrObj->GetNvrUTCDiff();
  78. }