Browse Source

first import

master
wenqiurong 5 years ago
commit
7157984c82
100 changed files with 4050 additions and 0 deletions
  1. +52
    -0
      Config/ConfigDataCentre.cpp
  2. BIN
      Config/ConfigDataCentre.o
  3. +99
    -0
      Config/TestCameraConfig.cpp
  4. BIN
      Config/TestCameraConfig.o
  5. +32
    -0
      Config/TestConfig.h
  6. +38
    -0
      Config/TestDefaultConfig.cpp
  7. BIN
      Config/TestDefaultConfig.o
  8. +73
    -0
      Config/TestDevSystemConfig.cpp
  9. BIN
      Config/TestDevSystemConfig.o
  10. +578
    -0
      Config/TestEncodeConfig.cpp
  11. BIN
      Config/TestEncodeConfig.o
  12. +42
    -0
      Config/TestModifyPassword.cpp
  13. BIN
      Config/TestModifyPassword.o
  14. +30
    -0
      Config/TestRebot.cpp
  15. BIN
      Config/TestRebot.o
  16. +26
    -0
      Include/Json_Header/AVEnc_VideoColor.h
  17. +32
    -0
      Include/Json_Header/AVEnc_VideoWidget.h
  18. +44
    -0
      Include/Json_Header/AlarmFunction.h
  19. +29
    -0
      Include/Json_Header/AlarmInfo.h
  20. +22
    -0
      Include/Json_Header/Alarm_AlarmOut.h
  21. +22
    -0
      Include/Json_Header/BroadTrends.h
  22. +22
    -0
      Include/Json_Header/CFG_AUX.h
  23. +22
    -0
      Include/Json_Header/Camera_ClearFog.h
  24. +54
    -0
      Include/Json_Header/Camera_Param.h
  25. +44
    -0
      Include/Json_Header/Camera_ParamEx.h
  26. +22
    -0
      Include/Json_Header/ChannelTitle.h
  27. +28
    -0
      Include/Json_Header/ChannelTitleAttribute.h
  28. +20
    -0
      Include/Json_Header/ChannelTitleV2.h
  29. +28
    -0
      Include/Json_Header/CombEncodeInfo.h
  30. +22
    -0
      Include/Json_Header/CommFunction.h
  31. +28
    -0
      Include/Json_Header/CoverInfo.h
  32. +28
    -0
      Include/Json_Header/Covers.h
  33. +30
    -0
      Include/Json_Header/DSTEnd.h
  34. +30
    -0
      Include/Json_Header/DSTStart.h
  35. +25
    -0
      Include/Json_Header/Detect_BlindDetect.h
  36. +23
    -0
      Include/Json_Header/Detect_LossDetect.h
  37. +27
    -0
      Include/Json_Header/Detect_MotionDetect.h
  38. +158
    -0
      Include/Json_Header/EncodeCapability.h
  39. +44
    -0
      Include/Json_Header/EncodeFunction.h
  40. +28
    -0
      Include/Json_Header/EncodeInfo.h
  41. +78
    -0
      Include/Json_Header/EventHandler.h
  42. +25
    -0
      Include/Json_Header/ExposureParam.h
  43. +25
    -0
      Include/Json_Header/ExtraFormat.h
  44. +20
    -0
      Include/Json_Header/FbExtraStateCtrl.h
  45. +22
    -0
      Include/Json_Header/GainParam.h
  46. +38
    -0
      Include/Json_Header/General_General.h
  47. +38
    -0
      Include/Json_Header/General_Location.h
  48. +20
    -0
      Include/Json_Header/InputMethod.h
  49. +20
    -0
      Include/Json_Header/IntelDataWriteRsp.h
  50. +218
    -0
      Include/Json_Header/JObject.h
  51. +9
    -0
      Include/Json_Header/JObject_NetSDK.h
  52. +26
    -0
      Include/Json_Header/JPOINT.h
  53. +15
    -0
      Include/Json_Header/JsonCfgBase.h
  54. +24
    -0
      Include/Json_Header/MainFormat.h
  55. +28
    -0
      Include/Json_Header/MobileDVR.h
  56. +28
    -0
      Include/Json_Header/ModifyPassword.h
  57. +102
    -0
      Include/Json_Header/NetServerFunction.h
  58. +66
    -0
      Include/Json_Header/NetWork_NetCommon.h
  59. +40
    -0
      Include/Json_Header/NetWork_Wifi.h
  60. +41
    -0
      Include/Json_Header/OPDefaultConfig.h
  61. +36
    -0
      Include/Json_Header/OPFileQuery.h
  62. +27
    -0
      Include/Json_Header/OPLogQuery.h
  63. +66
    -0
      Include/Json_Header/OPLogQueryInfo.h
  64. +21
    -0
      Include/Json_Header/OPMachine.h
  65. +23
    -0
      Include/Json_Header/OPNetKeyboard.h
  66. +58
    -0
      Include/Json_Header/OPPTZControl.h
  67. +109
    -0
      Include/Json_Header/OPPlayBack.h
  68. +36
    -0
      Include/Json_Header/OPPowerSocketGet.h
  69. +29
    -0
      Include/Json_Header/OPReqImport.h
  70. +24
    -0
      Include/Json_Header/OPSetOSD.h
  71. +29
    -0
      Include/Json_Header/OPStorageManager.h
  72. +29
    -0
      Include/Json_Header/OPTimeSetting.h
  73. +23
    -0
      Include/Json_Header/OSDInfo.h
  74. +28
    -0
      Include/Json_Header/OSDInfoWidget.h
  75. +212
    -0
      Include/Json_Header/OtherFunction.h
  76. +36
    -0
      Include/Json_Header/Parameter.h
  77. +38
    -0
      Include/Json_Header/Partition.h
  78. +28
    -0
      Include/Json_Header/PowerSocketAutoLightItem.h
  79. +28
    -0
      Include/Json_Header/PowerSocketAutoSwitchItem.h
  80. +28
    -0
      Include/Json_Header/PowerSocketAutoUsbItem.h
  81. +20
    -0
      Include/Json_Header/PowerSocket_Arm.h
  82. +22
    -0
      Include/Json_Header/PowerSocket_Authority.h
  83. +21
    -0
      Include/Json_Header/PowerSocket_AutoLight.h
  84. +21
    -0
      Include/Json_Header/PowerSocket_AutoSwitch.h
  85. +21
    -0
      Include/Json_Header/PowerSocket_AutoUsb.h
  86. +20
    -0
      Include/Json_Header/PowerSocket_BanLed.h
  87. +26
    -0
      Include/Json_Header/PowerSocket_DelaySwitch.h
  88. +20
    -0
      Include/Json_Header/PowerSocket_Image.h
  89. +20
    -0
      Include/Json_Header/PowerSocket_Sensitive.h
  90. +34
    -0
      Include/Json_Header/PowerSocket_WorkRecord.h
  91. +22
    -0
      Include/Json_Header/PreviewFunction.h
  92. +37
    -0
      Include/Json_Header/RecordCfg.h
  93. +21
    -0
      Include/Json_Header/SensorHXGetLightLux.h
  94. +22
    -0
      Include/Json_Header/SensorHXGetLightLuxEx.h
  95. +21
    -0
      Include/Json_Header/SensorHXGetTempWet.h
  96. +22
    -0
      Include/Json_Header/SensorHXGetTempWetEx.h
  97. +21
    -0
      Include/Json_Header/SensorHXManualWakeUp.h
  98. +23
    -0
      Include/Json_Header/SensorHXSetMicMode.h
  99. +24
    -0
      Include/Json_Header/Simplify_Encode.h
  100. +19
    -0
      Include/Json_Header/Status_NatInfo.h

+ 52
- 0
Config/ConfigDataCentre.cpp View File

@@ -0,0 +1,52 @@
#include "XNetSDKTest.h"
#include "SystemInfo.h"
#include "SystemFunction.h"
#include "Camera_Param.h"
#include "Simplify_Encode.h"
USE_NS_NETSDK_CFG
//
//void OnDevConfig(int nMsgId, int nResult, const char *szCfgName, const char *szResult, int nResultLen, int nSeq)
//{
// if (nResult < 0)
// {
// printf("OnDevConfig:[MsgId:%d; Result:%d]\r\n", nMsgId, nResult);
// return;
// }
//
// if((ESXSDK_DEV_GET_SYS_CONFIG == nMsgId || ESXSDK_DEV_GET_CHN_CONFIG == nMsgId) && szCfgName && szResult && nResultLen > 0)
// {
// if (strcmp(szCfgName, JK_SystemInfo) == 0)
// {
// SystemInfo cfg;
// cfg.Parse(szResult);
// printf("SystemInfo:[SerialNo:%s; BuildTime:%s; ]\r\n", cfg.SerialNo.Value(), cfg.BuildTime.Value());
// }
// else if (strcmp(szCfgName, JK_SystemFunction) == 0)
// {
// SystemFunction cfg;
// cfg.Parse(szResult);
// printf("SystemFunction:[CombineStream:%d; ]\r\n", cfg.mEncodeFunction.CombineStream.Value());
// }
// else if(strcmp(szCfgName, "Camera.Param.[0]") == 0)
// {
// Camera_Param cfg;
// cfg.SetName("Camera.Param.[0]");
// cfg.Parse(szResult);
// printf("Camera_Param:[IRCUTMode:%d; ]\r\n", cfg.IRCUTMode.Value());
//
// const char *pCfg = cfg.ToString();
// int nRet = XSDK_DevSetChnConfig(g_hDevice, 0, JK_Camera_Param, pCfg, strlen(pCfg), 5000, EXCMD_CONFIG_SET);
// }
// else if(strcmp(szCfgName, "Simplify.Encode") == 0)
// {
// Simplify_Encode cfg;
// cfg.Parse(szResult);
// printf("Simplify_Encode:[BitRate:%d; ]\r\n", cfg.mExtraFormat.mVideo.BitRate.Value());
//
// const char *pCfg = cfg.ToString();
// int nRet = XSDK_DevSetSysConfig(g_hDevice, JK_Simplify_Encode, pCfg, strlen(pCfg), 5000, EXCMD_CONFIG_SET);
// }
//
// }
//}

BIN
Config/ConfigDataCentre.o View File


+ 99
- 0
Config/TestCameraConfig.cpp View File

@@ -0,0 +1,99 @@
#include "../XNetSDKTest.h"
#include "XNetSDKSyn.h"
#include "Camera_Param.h"
#include "Camera_ParamEx.h"
USE_NS_NETSDK_CFG
int TestCameraConfig()
{
printf("%s\r\n", __FUNCTION__);
char c = 0;
int nRet = 0;
while((c = getchar()) != 'q')
{
switch(c)
{
//通用相机参数
case 'a':
{
///获取相机参数
char szOutBuffer[4096] = {0};
char outbuffer[100] = {0};
int len = 0;
int nInOutSize = sizeof(szOutBuffer);
nRet =XSDK_DevGetChnConfigSyn(g_hDevice, 0, JK_Camera_Param, szOutBuffer, &nInOutSize, 4000, EXCMD_CONFIG_GET);
XSDK_CFG::Camera_Param se;
se.SetName("Camera.Param.[0]");
se.Parse(szOutBuffer);
//白平衡
printf("White balance = %x\r\n", se.WhiteBalance.Value());
//IRCUT
printf("IRCUT = %d\r\n", se.IRCUTMode.Value());
//镜像
printf("PictureMirror = %x\r\n", se.PictureMirror.Value());
//白天降噪等级
printf("Day_nfLevel = %d\r\n", se.Day_nfLevel.Value());
//晚上降噪等级
printf("Night_nfLevel = %d\r\n", se.Night_nfLevel.Value());
//设置相机参数
if(nRet >= 0)
{
se.Day_nfLevel.SetValue(1);
const char *pCfg = se.ToString();
nRet = XSDK_DevSetChnConfigSyn(g_hDevice, 0, JK_Camera_Param, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_CONFIG_SET);
if(nRet >= 0)
{
printf("Set Success!\r\n");
}
}
}
break;
//相机参数扩展版
case 'b':
{
///获取相机参数
char szOutBuffer[4096] = {0};
char outbuffer[100] = {0};
int len = 0;
int nInOutSize = sizeof(szOutBuffer);
nRet =XSDK_DevGetChnConfigSyn(g_hDevice, 0, JK_Camera_ParamEx, szOutBuffer, &nInOutSize, 4000, EXCMD_CONFIG_GET);
XSDK_CFG::Camera_ParamEx se;
se.SetName("Camera.ParamEx.[0]");
se.Parse(szOutBuffer);
//宽动态
printf("BroadTrends AutoGain = %d, Gain = %d\r\n", se.mBroadTrends.AutoGain.Value(), se.mBroadTrends.Gain.Value());
//设置相机参数
if(nRet >= 0)
{
se.mBroadTrends.AutoGain.SetValue(1);
const char *pCfg = se.ToString();
nRet = XSDK_DevSetChnConfigSyn(g_hDevice, 0, JK_Camera_ParamEx, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_CONFIG_SET);
if(nRet >= 0)
{
printf("Set Success!\r\n");
}
}
}
break;
}
}
return 0;
}

BIN
Config/TestCameraConfig.o View File


+ 32
- 0
Config/TestConfig.h View File

@@ -0,0 +1,32 @@
#ifndef TESTCONFIG
#define TESTCONFIG
#include <iostream>
#include <map>
#include <string>
#include <stdio.h>
using namespace std;
#define XSDK_HANDLE int
class CTestConfig
{
public:
CTestConfig();
virtual ~CTestConfig();
//系统类配置
virtual int SysDevConfig(XSDK_HANDLE hDevice, int nSeq, int nTimeout, char *pConfig, int nConfigLen)=0;
//通道类配置
virtual int ChnDevConfig(XSDK_HANDLE hDevice, int nChannelNo, int nSeq, int nTimeout, const char *pConfig, int nConfigLen)=0;
public:
//获取到的JSON数据
static int GetJsonData(int nMsgId, int nResult, const char *szCfgName, const char *szResult, int nResultLen, int nSeq);
//public:
// std::map<int, string> m_JsonData;
};
#endif

+ 38
- 0
Config/TestDefaultConfig.cpp View File

@@ -0,0 +1,38 @@
#include "XNetSDKTest.h"
#include "XNetSDKSyn.h"
#include "OPDefaultConfig.h"
USE_NS_NETSDK_CFG
int TestSetDefaultConfig()
{
printf("%s\r\n", __FUNCTION__);
int nRet = 0;
char c = 0;
while((c = getchar()) != 'q')
{
switch(c)
{
case 's':
{
///»Ö¸´Ä¬ÈÏÅäÖÃ
char outbuffer[100] = {0};
int len = 0;
OPDefaultConfig cfg;
cfg.Factory.SetValue(false);
const char *pCfg = cfg.ToString();
nRet = XSDK_DevSetSysConfigSyn(g_hDevice, JK_OPDefaultConfig, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_SYSMANAGER_REQ);
if(nRet >= 0)
{
printf("OPDefaultConfig Success!\r\n");
}
}
break;
}
}
return 0;
}

BIN
Config/TestDefaultConfig.o View File


+ 73
- 0
Config/TestDevSystemConfig.cpp View File

@@ -0,0 +1,73 @@
#include "XNetSDKTest.h"
#include "XNetSDKSyn.h"
#include "SystemInfo.h"
#include "SystemFunction.h"
USE_NS_NETSDK_CFG
int TestDevSystemConfig()
{
printf("%s\r\n", __FUNCTION__);
char c = 0;
while((c = getchar()) != 'q')
{
switch(c)
{
/////////获取设备支持的功能/////////
case 'a':
{
// [异步]获取设备能力级
// XSDK_DevGetSysConfig(g_hDevice, JK_SystemFunction, 1234, 4000, JK_SystemFunction_MsgId);
// [同步]获取设备能力级
char szOutBuffer[40960] = {0};
int nInOutSize = sizeof(szOutBuffer);
int nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_SystemFunction, szOutBuffer, &nInOutSize, 4000, JK_SystemFunction_MsgId);
if(nResult >= 0)
{
printf("Get Success String[%s]\r\n", szOutBuffer);
SystemFunction cfg;
cfg.Parse(szOutBuffer);
printf("AlarmFunction.AlarmConfig = %d\r\n", cfg.mAlarmFunction.AlarmConfig.Value());
}
else
{
printf("Get Fail String[%s], nResult = %d\r\n", szOutBuffer, nResult);
}
}
break;
case 'b':
{
// [异步]获取设备基本信息(版本信息等)
//XSDK_DevGetSysConfig(g_hDevice, JK_SystemInfo, 123, 4000, JK_SystemInfo_MsgId);
// [同步]获取设备基本信息(版本信息等)
char szOutBuffer[40960] = {0};
int nInOutSize = sizeof(szOutBuffer);
int nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_SystemInfo, szOutBuffer, &nInOutSize, 4000, JK_SystemInfo_MsgId);
if(nResult >= 0)
{
printf("Get Success String[%s]\r\n", szOutBuffer);
SystemInfo cfg;
cfg.Parse(szOutBuffer);
const char * SoftWareVersion = cfg.SoftWareVersion.ToString();
printf("SoftWareVersion = %s\r\n", SoftWareVersion);
}
else
{
printf("Get Fail String[%s], nResult = %d\r\n", szOutBuffer, nResult);
}
}
break;
}
}
return 0;
}

BIN
Config/TestDevSystemConfig.o View File


+ 578
- 0
Config/TestEncodeConfig.cpp View File

@@ -0,0 +1,578 @@
#include "../XNetSDKTest.h"
#include "Simplify_Encode.h"
#include "XNetSDKSyn.h"
#include "EncodeCapability.h"
#include "SystemFunction.h"
USE_NS_NETSDK_CFG
#define IFRAME_EQ_PFRAME 10
#define BITMSK(bit) (int)(1 << (bit))
typedef struct
{
unsigned long dwSize;
unsigned long dsMask;
}SResolution;
enum
{
MAIN_STREAM = 0,
EXPAND_STREAM,
COMBINE_STREAM,
STREAM_NUM,
};
static SResolution m_resolution[CAPTURE_IMAGE_SIZE_EXT_V3_NR];
static int STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = {
{512, 768, 1024, 1536, 2048, 2560}, ///< D1
{384, 512, 768, 1024, 1536, 2048}, ///< HD1
{384, 512, 768, 1024, 1536, 2048}, ///< BCIF
{64, 192, 384, 512, 768, 1024}, ///< CIF
{64, 128, 192, 384, 448, 512}, ///< QCIF
{512, 768, 896, 1280, 1536, 2048}, ///< VGA
{256, 384, 512, 640, 768, 1024}, ///< QVGA
{512, 768, 896, 1280, 1536, 2048}, ///< SVCD
{64, 128, 192, 384, 448, 512}, ///< QQVGA
{64, 128, 256, 448, 512, 768}, ///< ND1
{896, 1024, 1536, 2048, 3072, 4096}, ///< 650TVL
{1024,1536, 2048, 2560, 3072, 4096}, ///< 720P
{1024,1536, 2048, 3072, 4096, 5120}, ///< 1_3M
{1024,2048, 3072, 4096, 6144, 8192}, ///< UXGA
{1024,2048, 3072, 4096, 6144, 8192}, ///< 1080P
{1177,2355, 3532, 4710, 7065, 10240}, ///< WUXGA
{1280,2560, 3840, 5120, 7680, 10240}, ///< 2_5M
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 3M
{2048, 3072, 4096, 6144, 8192,10240}, ///5M
{1024,1536, 2048, 2560, 3072, 4096}, ///< 1080N
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 4M
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 6M
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 8M
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 12M
{2048, 4096, 6144, 8192, 11264, 13312}, ///< 4K
{512, 768, 1024, 1536, 2048, 2560}, ///< 720N
{1024,1536, 2048, 2560, 3072, 4096}, ///< WSVGA
{512, 768, 896, 1280, 1536, 2048}, ///< NHD
{1024,1536, 2048, 3072, 4096, 5120}, ///< 3M_N
{1024,2048, 3072, 4096, 6144, 8192}, ///< 4M_N
{1280, 2560, 3840, 5120, 7680, 10240}, ///< 5M_N
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 4K_N
};
//大小眼睛的低码率
static int LOWBITRATE_STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = {
{384, 576, 768, 1152, 1536, 1920}, ///< D1
{384, 512, 768, 1024, 1536, 2048}, ///< HD1
{384, 512, 768, 1024, 1536, 2048}, ///< BCIF
{48, 144, 288, 384, 576, 768}, ///< CIF
{48, 96, 144, 288, 336, 384}, ///< QCIF
{512, 768, 896, 1280, 1536, 2048}, ///< VGA
{256, 384, 512, 640, 768, 1024}, ///< QVGA
{512, 768, 896, 1280, 1536, 2048}, ///< SVCD
{64, 128, 192, 384, 448, 512}, ///< QQVGA
{64, 128, 256, 448, 512, 768}, ///< ND1
{896, 1024, 1536, 2048, 3072, 4096}, ///< 960H
{768, 1152, 1536, 1920, 2304, 3072}, ///< 720P
{1024,1536, 2048, 3072, 4096, 5120}, ///< 960P
{1024,2048, 3072, 4096, 6144, 8192}, ///< UXGA
{1024,2048, 3072, 4096, 6144, 8192}, ///< 1080P
{640, 1024, 1536, 2048, 3072, 4096}, ///< WUXGA
{640, 1024, 1536, 2048, 3072, 4096}, ///< 2_5M
{640, 1024, 1536, 2048, 3072, 4096}, ///< 3M
{720, 1024, 1536, 2048, 3072, 5120}, ///< 5M
{0,0, 0, 0, 0, 0}, ///< 1080N
{0, 0, 0, 0, 0, 0}, ///< 4M
{0,0,0,0,0,0}, //6M
{0,0,0,0,0,0}, //8M
{0,0,0,0,0,0}, //12M
{0,0,0,0,0,0}, //4K
{0, 0, 0, 0, 0, 0}, ///< 720N
{0,0,0,0,0,0}, //RES1
{0,0,0,0,0,0}, //RES2
{0,0,0,0,0,0}, //RES3
{0,0,0,0,0,0}, //RES4
{0,0,0,0,0,0}, //RES5
{0,0,0,0,0,0}, //RES6
};
static int FISHEYE_STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = {
{512, 768, 1024, 1536, 2048, 2560}, ///< D1
{384, 512, 768, 1024, 1536, 2048}, ///< HD1
{384, 512, 768, 1024, 1536, 2048}, ///< BCIF
{64, 192, 384, 512, 768, 1024}, ///< CIF
{64, 128, 192, 384, 448, 512}, ///< QCIF
{512, 768, 896, 1280, 1536, 2048}, ///< VGA
{256, 384, 512, 640, 768, 1024}, ///< QVGA
{512, 768, 896, 1280, 1536, 2048}, ///< SVCD
{64, 128, 192, 384, 448, 512}, ///< QQVGA
{64, 128, 256, 448, 512, 768}, ///< ND1
{896, 1024, 1536, 2048, 3072, 4096}, ///< 650TVL
{1536, 2048, 2560, 3072, 4096, 6096}, ///< 720P
{1024,1536, 2048, 3072, 4096, 5120}, ///< 1_3M
{1024,2048, 3072, 4096, 6144, 8192}, ///< UXGA
{1024,2048, 3072, 4096, 6144, 8192}, ///< 1080P
{1177,2355, 3532, 4710, 7065, 10240}, ///< WUXGA
{1280,2560, 3840, 5120, 7680, 10240}, ///< 2_5M
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 3M
{2048, 3072, 4096, 6144, 8192,10240}, ///5M
{1024,1536, 2048, 2560, 3072, 4096}, ///< 1080N
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 4M
{0,0,0,0,0,0}, //6M
{0,0,0,0,0,0}, //8M
{0,0,0,0,0,0}, //12M
{0,0,0,0,0,0}, //4K
{512, 768, 1024, 1536, 2048, 2560}, ///< 720N
{1024,1536, 2048, 2560, 3072, 4096}, ///< WSVGA
{0,0,0,0,0,0}, //RES2
{0,0,0,0,0,0}, //RES3
{0,0,0,0,0,0}, //RES4
{0,0,0,0,0,0}, //RES5
{0,0,0,0,0,0}, //RES6
};
static int H265_STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = {
{332, 499, 665, 998, 1331, 1664}, ///< D1
{249, 332, 499, 665, 998, 1331}, ///< HD1
{249, 332, 499, 665, 998, 1331}, ///< BCIF
{41, 124, 249, 332, 499, 665}, ///< CIF
{41, 83, 124, 249, 291, 332}, ///< QCIF
{332, 499, 582, 832, 998, 1331}, ///< VGA
{166, 249, 332, 416, 499, 665}, ///< QVGA
{332, 499, 582, 832, 998, 1331}, ///< SVCD
{41, 83, 124, 249, 291, 332}, ///< QQVGA
{41, 83, 166, 291, 332, 499}, ///< ND1
{582, 665, 998, 1331, 1996, 2662}, ///< 650TVL
{665,998, 1331, 1664, 1996, 2662}, ///< 720P
{665,998, 1331, 1996, 2662, 3328}, ///< 1_3M
{665,1331, 1996, 2662, 3993, 5324}, ///< UXGA
{665,1331, 1996, 2662, 3993, 5324}, ///< 1080P
{765,1530, 2295, 3061, 4592, 6656}, ///< WUXGA
{832,1664, 2496, 3328, 4992, 6656}, ///< 2_5M
{998, 1996, 2662, 3993, 5324, 6656}, ///< 3M
{1331, 1996, 2662, 3993, 5324,6656}, ///5M
{665,998, 1331, 1664, 1996, 2662}, ///< 1080N
{998, 1996, 2662, 3993, 5324, 6656}, ///< 4M
{998, 1996, 2662, 3993, 5324, 6656}, ///< 6M
{998, 1996, 2662, 3993, 5324, 6656}, ///< 8M
{998, 1996, 2662, 3993, 5324, 6656}, ///< 12M
{1331, 2662, 3993, 5324, 7321, 8652}, ///< 4K
{332, 499, 665, 998, 1331, 1664}, ///< 720N
{582, 665, 998, 1331, 1996, 2662}, ///< WSVGA(1024*576)
{332, 499, 582, 832, 998, 1327}, ///< NHD
{665,998, 1331, 1996, 2662, 3328}, ///< 3M_N
{665,1331, 1996, 2662, 3993, 5324}, ///< 4M_N
{832, 1664, 2496, 3328, 4992, 6656}, ///< 5M_N
{1331, 1996, 2665, 3993, 5324, 6656}, ///< 4K_N
};
//函数说明:计算码固定码率支持的码流值
//参数说明:
//dstFormat : 媒体格式
//bLowBitrate : 是否支持大小眼
//bLowBitrate : 是否支持鱼眼
//bH265Bitrate : 是否支持h265
void CalculateCodeStreamValue(SDK_VIDEO_FORMAT * vfSetFormat, bool bLowBitrate, bool bFisheyeBitrate, bool bH265Bitrate)
{
int j = 0;
int nTmpFPS = 0;
int nFPS = 25;
nTmpFPS = min(vfSetFormat->nFPS, nFPS);
int iBitrate = 0;
if(bLowBitrate)
{
for (j = 0; j < sizeof(LOWBITRATE_STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j)
{
iBitrate = LOWBITRATE_STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate);
}
}
else if(bFisheyeBitrate)
{
for (j = 0; j < sizeof(FISHEYE_STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j)
{
iBitrate = FISHEYE_STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate);
}
}
else if(bH265Bitrate)
{
for (j = 0; j < sizeof(H265_STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j)
{
iBitrate = H265_STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate);
}
}
else
{
for (j = 0; j < sizeof(STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j)
{
iBitrate = STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate);
}
}
}
void GetMaxResolAndRate(int &nResolu, int &nRate, long lFreePower)
{
if ( lFreePower <= 0 )
{
return;
}
int nSize = m_resolution[nResolu].dwSize;
if ( nSize > lFreePower )
{
nResolu = -1;
nRate = -1;
return;
}
else
{
int nTempRate = lFreePower / nSize;
if ( nTempRate > 25 )
{
nTempRate = 25;
}
nRate = nTempRate;
}
long lMaxSize = nSize;
for ( int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR; i ++ )
{
long lTempsize = m_resolution[i].dwSize;
if ( lFreePower >= lTempsize && lMaxSize < lTempsize )
{
nResolu = i;
lMaxSize = lTempsize;
}
}
}
void GetSupportRes(int maxSize, unsigned long dwMask )
{
for (int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR ; i ++)
{
if ( (m_resolution[i].dwSize <= m_resolution[maxSize].dwSize )
&& ( dwMask & (0x01<<i) ) )
{
printf("m_resolution[%d]\r\n", i);
}
}
}
int TestEncodeConfig()
{
printf("%s\r\n", __FUNCTION__);
char c = 0;
bool bSupport = false;
char szOutBuffer[40960] = {0};
int nInOutSize = sizeof(szOutBuffer);
int nResult = 0;
int nCompression;
int nMainStreamResolution = 0;
// unsigned long ulMask = 0;
int nQuality = 0;
int nGop = 0;
int nFps = 0;
bool m_bH265Bitrate[STREAM_NUM];
bool m_bMultiStream = false;
bool m_bLowBitrate = false;
bool m_bFisheyeBitrate = false;
m_bH265Bitrate[MAIN_STREAM] = false;
m_bH265Bitrate[EXPAND_STREAM] = false;
m_bH265Bitrate[COMBINE_STREAM] = false;
unsigned long lFreePower = 0;
///////////////////////////////////现有支持的所有分辨率/////////////////////////////////
m_resolution[CAPTURE_IMAGE_SIZE_D1].dwSize = 704 * 480;
m_resolution[CAPTURE_IMAGE_SIZE_HD1].dwSize = 704 * 240;
m_resolution[CAPTURE_IMAGE_SIZE_BCIF].dwSize = 352 * 480;
m_resolution[CAPTURE_IMAGE_SIZE_CIF].dwSize = 352 * 240;
m_resolution[CAPTURE_IMAGE_SIZE_QCIF].dwSize = 176 * 120;
m_resolution[CAPTURE_IMAGE_SIZE_VGA].dwSize = 640 * 480;
m_resolution[CAPTURE_IMAGE_SIZE_QVGA].dwSize = 320 * 240;
m_resolution[CAPTURE_IMAGE_SIZE_SVCD].dwSize = 480 * 480;
m_resolution[CAPTURE_IMAGE_SIZE_QQVGA].dwSize = 160 * 128;
m_resolution[CAPTURE_IMAGE_SIZE_ND1].dwSize = 240*192;
m_resolution[CAPTURE_IMAGE_SIZE_650TVL].dwSize = 928*480;
m_resolution[CAPTURE_IMAGE_SIZE_720P].dwSize = 1280*720;
m_resolution[CAPTURE_IMAGE_SIZE_1_3M].dwSize = 1280*960;
m_resolution[CAPTURE_IMAGE_SIZE_UXGA].dwSize = 1600*1200;
m_resolution[CAPTURE_IMAGE_SIZE_1080P].dwSize = 1920*1080;
m_resolution[CAPTURE_IMAGE_SIZE_WUXGA].dwSize = 1920*1200;
m_resolution[CAPTURE_IMAGE_SIZE_2_5M].dwSize = 1872*1408;
m_resolution[CAPTURE_IMAGE_SIZE_3M].dwSize = 2048*1536;
m_resolution[CAPTURE_IMAGE_SIZE_5M].dwSize = 3744*1408;
m_resolution[CAPTURE_IMAGE_SIZE_1080N].dwSize = 944*1080;
m_resolution[CAPTURE_IMAGE_SIZE_4M].dwSize = 2592*1520;
m_resolution[CAPTURE_IMAGE_SIZE_6M].dwSize = 3072*2048;
m_resolution[CAPTURE_IMAGE_SIZE_8M].dwSize = 3264*2448;
m_resolution[CAPTURE_IMAGE_SIZE_12M].dwSize = 4000*3000;
m_resolution[CAPTURE_IMAGE_SIZE_4K].dwSize = 4096*2160;
m_resolution[CAPTURE_IMAGE_SIZE_720N].dwSize = 640*720;
m_resolution[CAPTURE_IMAGE_SIZE_WSVGA].dwSize = 1024*576;
m_resolution[CAPTURE_IMAGE_SIZE_NHD].dwSize = 640*360;
m_resolution[CAPTURE_IMAGE_SIZE_3M_N].dwSize = 1024*1536;
m_resolution[CAPTURE_IMAGE_SIZE_4M_N].dwSize = 1296*1520;
m_resolution[CAPTURE_IMAGE_SIZE_5M_N].dwSize = 1872*1408;
m_resolution[CAPTURE_IMAGE_SIZE_4K_N].dwSize = 2048*2160; ///2048 * 2160通用/1920*2160海思
/////////////////////////////////////////////掩码//////////////////////////////////////////
m_resolution[CAPTURE_IMAGE_SIZE_D1].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_HD1].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_BCIF].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_BCIF) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_CIF].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_QCIF].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_VGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_VGA) | BITMSK(CAPTURE_IMAGE_SIZE_QVGA);
m_resolution[CAPTURE_IMAGE_SIZE_QVGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_QVGA);
m_resolution[CAPTURE_IMAGE_SIZE_SVCD].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_SVCD);
m_resolution[CAPTURE_IMAGE_SIZE_QQVGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_QQVGA);
m_resolution[CAPTURE_IMAGE_SIZE_ND1].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_ND1);
m_resolution[CAPTURE_IMAGE_SIZE_650TVL].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_720P].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_1_3M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_UXGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_1080P].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_WUXGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_2_5M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_3M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_5M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
m_resolution[CAPTURE_IMAGE_SIZE_1080N].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_650TVL) | BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF) | BITMSK(CAPTURE_IMAGE_SIZE_720P);
m_resolution[CAPTURE_IMAGE_SIZE_4M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF) | BITMSK(CAPTURE_IMAGE_SIZE_720P);
m_resolution[CAPTURE_IMAGE_SIZE_720N].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF);
while((c = getchar()) != 'q')
{
switch(c)
{
//判断是否支持组合编码
case 'a':
{
memset(&szOutBuffer, 0, 40960);
nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_SystemFunction, szOutBuffer, &nInOutSize, 4000, JK_SystemFunction_MsgId);
if(nResult >= 0)
{
SystemFunction sysfunc;
sysfunc.Parse(szOutBuffer);
bSupport = sysfunc.mEncodeFunction.CombineStream.ToBool();
m_bMultiStream = sysfunc.mEncodeFunction.DoubleStream.ToBool();
m_bLowBitrate = sysfunc.mEncodeFunction.LowBitRate.ToBool();
m_bFisheyeBitrate = sysfunc.mOtherFunction.SupportFishEye.ToBool();
printf("bSupport = %d, m_bMultiStream = %d, m_bLowBitrate = %d, m_bFisheyeBitrate = %d\r\n",
bSupport, m_bMultiStream, m_bLowBitrate, m_bFisheyeBitrate);
}
}
break;
case 'b':
{
memset(&szOutBuffer, 0, 40960);
nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_EncodeCapability, szOutBuffer, &nInOutSize, 4000, EXCMD_ABILITY_GET);
if(nResult >= 0)
{
EncodeCapability encode;
encode.Parse(szOutBuffer);
///////////////////////////////////获取主辅码流支持的压缩格式/////////////////////////////////
////获取主码流支持的压缩格式
nCompression = encode.mEncodeInfo[0].CompressionMask.Value();
for ( int i = 0; i < CAPTURE_COMPRESS_NR; i ++ )
{
if (nCompression & ( 1 << i ) )
{
printf("[Main]Support Compression Type = %s\r\n", CompressionMap[i].name);
}
}
////获取辅码流的支持的压缩格式
nCompression = encode.mEncodeInfo[1].CompressionMask.Value();
for ( int i = 0; i < CAPTURE_COMPRESS_NR; i ++ )
{
if (nCompression & ( 1 << i ) )
{
printf("[Extra]Support Compression Type = %s\r\n", CompressionMap[i].name);
}
}
lFreePower = encode.MaxEncodePower.Value();
//ulMask = encode.ImageSizePerChannel[0].Value();
}
}
break;
case 'g':
{
char szOutBuf[40960] = {0};
int nInOutBufLen = sizeof(szOutBuf);
SDK_VIDEO_FORMAT mainFormat;
memset(&mainFormat, 0, sizeof(SDK_VIDEO_FORMAT));
int nGetCfg = XSDK_DevGetSysConfigSyn(g_hDevice, JK_Simplify_Encode, szOutBuf, &nInOutBufLen, 4000, EXCMD_CONFIG_GET);
if (nGetCfg >= 0 && nInOutBufLen > 0)
{
JObjArrayObject<Simplify_Encode> cfg(NULL, JK_Simplify_Encode);
cfg.Parse(szOutBuf);
if(cfg.objs.Size() > 0)
{
///主码流分辨率
const char * mainStrRes = cfg.objs[0].mMainFormat.mVideo.Resolution.Value();
printf("MainFormat[Resolution:%s]\r\n", cfg.objs[0].mMainFormat.mVideo.Resolution.Value());
for ( int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR; i ++ )
{
if(strcmp(mainStrRes, s_videoResolutionMap[i].name) == 0)
{
nMainStreamResolution = i;
}
}
if(nMainStreamResolution == CAPTURE_COMPRESS_H265)
{
m_bH265Bitrate[EXPAND_STREAM] = true;
}
else
{
m_bH265Bitrate[EXPAND_STREAM] = false;
}
mainFormat.iResolution = nMainStreamResolution;
///主码流帧率
nFps = cfg.objs[0].mMainFormat.mVideo.FPS.Value();
printf("MainFormat[FPS:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.FPS.Value());
mainFormat.nFPS = nFps;
///主码流码流值
printf("MainFormat[BitRate:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.BitRate.Value());
mainFormat.nBitRate = cfg.objs[0].mMainFormat.mVideo.BitRate.Value();
///主码流帧间隔
nGop = cfg.objs[0].mMainFormat.mVideo.GOP.Value();
printf("MainFormat[GOP:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.GOP.Value());
mainFormat.iGOP = cfg.objs[0].mMainFormat.mVideo.GOP.Value();
///主码流码率控制
printf("MainFormat[BitRateControl:%s]\r\n", cfg.objs[0].mMainFormat.mVideo.BitRateControl.Value());
///主码流压缩格式
printf("MainFormat[Compression:%s]\r\n", cfg.objs[0].mMainFormat.mVideo.Compression.Value());
int iCompression = 0;
for ( int i = 0; i < CAPTURE_COMPRESS_NR; i ++ )
{
if(strcmp(mainStrRes, CompressionMap[i].name) == 0)
{
iCompression = i;
}
}
mainFormat.iCompression = iCompression;
///主码流画质
nQuality = cfg.objs[0].mMainFormat.mVideo.Quality.Value();
printf("MainFormat[Quality:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.Quality.Value());
mainFormat.iQuality = nQuality;
/////////////////////////////////////////////设置//////////////////////////////////////////////////
int nChannelCount = 1; //通道个数,默认为1
unsigned long dwChnUsed = 0;
unsigned long dwChnFree = 0;
unsigned long dwPower = lFreePower / nChannelCount;
int nExStreamResolution = 0;
int nExFps = 0;
const char * ExStrRes = cfg.objs[0].mExtraFormat.mVideo.Resolution.Value();
nExFps = cfg.objs[0].mExtraFormat.mVideo.FPS.Value();
for ( int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR; i ++ )
{
if(strcmp(ExStrRes, s_videoResolutionMap[i].name) == 0)
{
nExStreamResolution = i;
}
}
if (m_bMultiStream && cfg.objs[0].mExtraFormat.VideoEnable.Value())
{
dwChnUsed = m_resolution[nExStreamResolution].dwSize * nExFps;
}
dwChnFree = dwPower - dwChnUsed;
////////////主码流/////////
mainFormat.nFPS = 25;
int MaxSize = 0;
GetMaxResolAndRate(MaxSize, nFps, dwChnFree);
//GetSupportRes(MaxSize, ulMask);
//////固定码率时的码流值选择
CalculateCodeStreamValue(&mainFormat, m_bLowBitrate, m_bFisheyeBitrate, m_bH265Bitrate);
//////////设置码流值
cfg.objs[0].mMainFormat.mVideo.FPS.SetValue(25);
mainFormat.nFPS = 25;
int nFPS = 25;
int nTmpFPS = 25; /////设置的帧率
int dwBitrate = 0;
//////////码流值的计算////////
if (m_bLowBitrate)
{
dwBitrate = LOWBITRATE_STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
}
else if(m_bFisheyeBitrate)
{
dwBitrate = FISHEYE_STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
}
else if (m_bH265Bitrate[MAIN_STREAM])
{
dwBitrate = H265_STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
}
else
{
dwBitrate = STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1);
}
cfg.objs[0].mMainFormat.mVideo.BitRate.SetValue(dwBitrate);
const char *pCfg = cfg.ToString();
XSDK_DevSetSysConfig(g_hDevice, JK_Simplify_Encode, pCfg, strlen(pCfg), 1, 5000, EXCMD_CONFIG_SET);
}
}
}
break;
}
}
return 0;
}

BIN
Config/TestEncodeConfig.o View File


+ 42
- 0
Config/TestModifyPassword.cpp View File

@@ -0,0 +1,42 @@
#include "XNetSDKTest.h"
#include "ModifyPassword.h"
USE_NS_NETSDK_CFG
int TestModifyPassword()
{
printf("%s\r\n", __FUNCTION__);
int nRet = 0;
char c = 0;
while((c = getchar()) != 'q')
{
switch(c)
{
case 's':
{
char oldPsw[6] = "10111";
signed char oldEncryptPsw[6] = {0};
XSDK_EncryptPassword(oldPsw, oldEncryptPsw, 6);
printf("oldEncryptPassWord = %s\n", oldEncryptPsw);
char newPsw[5] = "1011";
signed char newEncryptPsw[5] = {0};
XSDK_EncryptPassword(newPsw, newEncryptPsw, 5);
printf("newEncryptPassWord = %s\n", newEncryptPsw);
SXSDK_MODIFY_PSW cfg;
strcpy(cfg.Password, (const char *)oldEncryptPsw);
strcpy(cfg.NewPassword, (const char *)newEncryptPsw);
strcpy(cfg.sUserName, "admin");
nRet = XSDK_DevModifyIPConfig(g_hDevice, (const char *)&cfg, sizeof(SXSDK_MODIFY_PSW), 12, 5000);
}
break;
}
}
return 0;
}

BIN
Config/TestModifyPassword.o View File


+ 30
- 0
Config/TestRebot.cpp View File

@@ -0,0 +1,30 @@
#include "XNetSDKTest.h"
#include "OPMachine.h"
USE_NS_NETSDK_CFG
int TestOPMachine()
{
printf("%s\r\n", __FUNCTION__);
int nRet = 0;
char c = 0;
while((c = getchar()) != 'q')
{
switch(c)
{
case 's':
{
OPMachine cfg;
cfg.Action.SetValue("Reboot"); //ÖØÆô
// cfg.Action.SetValue("Shutdown"); //¹Ø»ú
const char *pCfg = cfg.ToString();
nRet = XSDK_DevSetSysConfig(g_hDevice, JK_OPMachine, pCfg, strlen(pCfg), 1, 5000, EXCMD_SYSMANAGER_REQ);
printf("nRet = %d\n", nRet);
}
break;
}
}
return 0;
}

BIN
Config/TestRebot.o View File


+ 26
- 0
Include/Json_Header/AVEnc_VideoColor.h View File

@@ -0,0 +1,26 @@
#pragma once
#include "JObject_NetSDK.h"
#include "VideoColorParam.h"
NS_NETSDK_CFG_BEGIN
#define JK_AVEnc_VideoColor "AVEnc.VideoColor"
class AVEnc_VideoColor : public JObject
{
public:
JObjArray<JObjArray<JStrObj> > TimeSection; ///// ʱ¼ä¶Î
JIntObj Enable; ///// ʹÄÜ:0,1
VideoColorParam m_VideoColorParam; ///// ÑÕÉ«¶¨Òå
public:
AVEnc_VideoColor(JObject *pParent = NULL, const char *szName = JK_AVEnc_VideoColor):
JObject(pParent,szName),
TimeSection(this, "TimeSection"),
Enable(this, "Enable"),
m_VideoColorParam(this, "VideoColorParam"){
};
~AVEnc_VideoColor(void){};
};
NS_NETSDK_CFG_END

+ 32
- 0
Include/Json_Header/AVEnc_VideoWidget.h View File

@@ -0,0 +1,32 @@
#pragma once
#include "JObject_NetSDK.h"
#include "ChannelTitle.h"
#include "ChannelTitleAttribute.h"
#include "TimeTitleAttribute.h"
#include "Covers.h"
NS_NETSDK_CFG_BEGIN
#define JK_AVEnc_VideoWidget "AVEnc.VideoWidget"
class AVEnc_VideoWidget : public JObject
{
public:
ChannelTitle mChannelTitle; ///< 通道名称
ChannelTitleAttribute mChannelTitleAttribute; ///< 通道名称的位置
JObjArray<Covers> mCovers;
JIntObj CoversNum; ///< 当前该通道有几个叠加的区域 */
TimeTitleAttribute mTimeTitleAttribute; ///< 设备时间
public:
AVEnc_VideoWidget(JObject *pParent = NULL, const char *szName = JK_AVEnc_VideoWidget):
JObject(pParent,szName),
mChannelTitle(this, "ChannelTitle"),
mChannelTitleAttribute(this, "ChannelTitleAttribute"),
mCovers(this, "Covers"),
CoversNum(this, "CoversNum"),
mTimeTitleAttribute(this, "TimeTitleAttribute"){
};
~AVEnc_VideoWidget(void){};
};
NS_NETSDK_CFG_END

+ 44
- 0
Include/Json_Header/AlarmFunction.h View File

@@ -0,0 +1,44 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_AlarmFunction "AlarmFunction"
class AlarmFunction : public JObject
{
public:
JBoolObj AlarmConfig;
JBoolObj BlindDetect;
JBoolObj IPCAlarm;
JBoolObj LossDetect;
JBoolObj MotionDetect;
JBoolObj NetAbort;
JBoolObj NetAbortExtend;
JBoolObj NetAlarm;
JBoolObj NetIpConflict;
JBoolObj StorageFailure;
JBoolObj StorageLowSpace;
JBoolObj StorageNotExist;
JBoolObj VideoAnalyze;
public:
AlarmFunction(JObject *pParent = NULL, const char *szName = JK_AlarmFunction):
JObject(pParent,szName),
AlarmConfig(this, "AlarmConfig"),
BlindDetect(this, "BlindDetect"),
IPCAlarm(this, "IPCAlarm"),
LossDetect(this, "LossDetect"),
MotionDetect(this, "MotionDetect"),
NetAbort(this, "NetAbort"),
NetAbortExtend(this, "NetAbortExtend"),
NetAlarm(this, "NetAlarm"),
NetIpConflict(this, "NetIpConflict"),
StorageFailure(this, "StorageFailure"),
StorageLowSpace(this, "StorageLowSpace"),
StorageNotExist(this, "StorageNotExist"),
VideoAnalyze(this, "VideoAnalyze"){
};
~AlarmFunction(void){};
};
NS_NETSDK_CFG_END

+ 29
- 0
Include/Json_Header/AlarmInfo.h View File

@@ -0,0 +1,29 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_AlarmInfo "AlarmInfo"
class AlarmInfo : public JObject
{
public:
JIntObj Channel;
JStrObj Event;
JStrObj StartTime;
JStrObj Status;
JStrObj ExtInfo;
public:
AlarmInfo(JObject *pParent = NULL, const char *szName = JK_AlarmInfo):
JObject(pParent,szName),
Channel(this, "Channel"),
Event(this, "Event"),
StartTime(this, "StartTime"),
Status(this, "Status"),
ExtInfo(this, "ExtInfo"){
};
~AlarmInfo(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/Alarm_AlarmOut.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_Alarm_AlarmOut "Alarm.AlarmOut"
class Alarm_AlarmOut : public JObject
{
public:
JStrObj AlarmOutStatus;
JStrObj AlarmOutType;
public:
Alarm_AlarmOut(JObject *pParent = NULL, const char *szName = JK_Alarm_AlarmOut):
JObject(pParent,szName),
AlarmOutStatus(this, "AlarmOutStatus"),
AlarmOutType(this, "AlarmOutType"){
};
~Alarm_AlarmOut(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/BroadTrends.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_BroadTrends "BroadTrends"
class BroadTrends : public JObject
{
public:
JIntObj AutoGain; /////自动增益是否启用,0:不开启 1:开启
JIntObj Gain; /////自动增益上限(自动增益启用)或固定增益值
public:
BroadTrends(JObject *pParent = NULL, const char *szName = JK_BroadTrends):
JObject(pParent,szName),
AutoGain(this, "AutoGain"),
Gain(this, "Gain"){
};
~BroadTrends(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/CFG_AUX.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_AUX "AUX"
class AUX : public JObject
{
public:
JIntObj Number;
JStrObj Status;
public:
AUX(JObject *pParent = NULL, const char *szName = JK_AUX):
JObject(pParent,szName),
Number(this, "Number"),
Status(this, "Status"){
};
~AUX(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/Camera_ClearFog.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_Camera_ClearFog "Camera.ClearFog"
class Camera_ClearFog : public JObject
{
public:
JBoolObj enable;
JIntObj level;
public:
Camera_ClearFog(JObject *pParent = NULL, const char *szName = JK_Camera_ClearFog):
JObject(pParent,szName),
enable (this, "enable"),
level (this, "level"){
};
~Camera_ClearFog(void){};
};
NS_NETSDK_CFG_END

+ 54
- 0
Include/Json_Header/Camera_Param.h View File

@@ -0,0 +1,54 @@
#pragma once
#include "JObject_NetSDK.h"
#include "ExposureParam.h"
#include "GainParam.h"
NS_NETSDK_CFG_BEGIN
#define JK_Camera_Param "Camera.Param"
class Camera_Param: public JObject
{
public:
JIntObj AeSensitivity; ///ae灵敏度配置
JIntHex ApertureMode; ///自动光圈模式(类型是unsigned int)
JIntHex BLCMode; ///背光补偿模式(类型是unsigned int)
JIntHex DayNightColor; ///日夜模式,取值有彩色、自动切换和黑白(类型是unsigned int)
JIntObj Day_nfLevel; ///白天降噪等级,0-5,0不滤波,1-5 值越大滤波效果越明显
JIntObj DncThr; ///日夜转换阈值
JIntObj ElecLevel; ///参考电平值(类型是unsigned int)
JIntHex EsShutter; ///电子慢快门功能(类型是unsigned int)
ExposureParam mExposureParam; ///曝光配置
GainParam mGainParam; ///增益配置
JIntObj IRCUTMode; ///IR-CUT切换 0 = 红外灯同步切换 1 = 自动切换
JIntObj IrcutSwap; ///ircut 正常序= 0 反序= 1
JIntObj Night_nfLevel; ///晚上降噪等级,0-5,0不滤波,1-5 值越大滤波效果越明显
JIntHex PictureFlip; ///图片上下翻转(类型是unsigned int)
JIntHex PictureMirror; ///图片左右翻转(镜像)(类型是unsigned int)
JIntHex RejectFlicker; ///日光灯防闪功能(类型是unsigned int)
JIntHex WhiteBalance; ///白平衡(类型是unsigned int)
public:
Camera_Param(JObject *pParent = NULL, const char *szName = JK_Camera_Param):
JObject(pParent,szName),
AeSensitivity(this, "AeSensitivity"),
ApertureMode(this, "ApertureMode"),
BLCMode(this, "BLCMode"),
DayNightColor(this, "DayNightColor"),
Day_nfLevel(this, "Day_nfLevel"),
DncThr(this, "DncThr"),
ElecLevel(this, "ElecLevel"),
EsShutter(this, "EsShutter"),
mExposureParam(this, "ExposureParam"),
mGainParam(this, "GainParam"),
IRCUTMode(this, "IRCUTMode"),
IrcutSwap(this, "IrcutSwap"),
Night_nfLevel(this, "Night_nfLevel"),
PictureFlip(this, "PictureFlip"),
PictureMirror(this, "PictureMirror"),
RejectFlicker(this, "RejectFlicker"),
WhiteBalance(this, "WhiteBalance"){
};
~Camera_Param(void){};
};
NS_NETSDK_CFG_END

+ 44
- 0
Include/Json_Header/Camera_ParamEx.h View File

@@ -0,0 +1,44 @@
#pragma once
#include "JObject_NetSDK.h"
#include "BroadTrends.h"
NS_NETSDK_CFG_BEGIN
#define JK_Camera_ParamEx "Camera.ParamEx"
class Camera_ParamEx : public JObject //
{
public:
JIntObj AeMeansure; ///测光模式校正 0:平均测光 1:中央测光
BroadTrends mBroadTrends; ///宽动态
JIntObj Dis; ///电子防抖设置 0:关闭 1:开启
JIntHex ExposureTime; ///实际生效的曝光时间(类型是unsigned int)
JIntObj Ldc; //镜头畸变校正 0:关闭 1:开启
JIntObj LowLuxMode; ///微光模式 mode:0 关闭 1开启 ==only imx291
JStrObj Style; ///风格类型,由设备底层控制--"typedefault","type1","type2"
JIntObj CorridorMode; ///1:走廊模式 0:普通模式
JIntObj LightRestrainLevel; ///强光抑制功能0~255,默认16
JIntObj PreventOverExpo; ///防过曝 0:关闭 1:开启
JIntObj SoftPhotosensitivecontrol; ///软光敏控制 0:光敏自动调节 1:软件自动调节 2:开启3:关闭
JIntObj AutomaticAdjustment; /// 自动调节档次 : 1~4
public:
Camera_ParamEx(JObject *pParent = NULL, const char *szName = JK_Camera_ParamEx):
JObject(pParent,szName),
AeMeansure(this, "AeMeansure"),
mBroadTrends(this, "BroadTrends"),
Dis(this, "Dis"),
ExposureTime(this, "ExposureTime"),
Ldc(this, "Ldc"),
LowLuxMode(this, "LowLuxMode"),
Style(this, "Style"),
CorridorMode(this, "CorridorMode"),
LightRestrainLevel(this, "LightRestrainLevel"),
PreventOverExpo(this, "PreventOverExpo"),
SoftPhotosensitivecontrol(this, "SoftPhotosensitivecontrol"),
AutomaticAdjustment(this, "AutomaticAdjustment"){
};
~Camera_ParamEx(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/ChannelTitle.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_ChannelTitle "ChannelTitle"
class ChannelTitle : public JObject
{
public:
JStrObj Name; ///< ͨµÀÃû³Æ
JStrObj SerialNo;
public:
ChannelTitle(JObject *pParent = NULL, const char *szName = JK_ChannelTitle):
JObject(pParent,szName),
Name(this, "Name"),
SerialNo(this, "SerialNo"){
};
~ChannelTitle(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/ChannelTitleAttribute.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_ChannelTitleAttribute "ChannelTitleAttribute"
class ChannelTitleAttribute : public JObject
{
public:
JStrObj BackColor; ///< 物件的后景MakeRGB,和透明度
JBoolObj EncodeBlend; ///< 编码叠加
JStrObj FrontColor; ///< 物件的前景MakeRGB,和透明度
JBoolObj PreviewBlend; ///< 预览叠加,是否显示,1:显示 0:隐藏
JObjArray<JIntObj> RelativePos; ///< 物件边距与整长的比例*8192(数组[左,上, 右,底])
public:
ChannelTitleAttribute(JObject *pParent = NULL, const char *szName = JK_ChannelTitleAttribute):
JObject(pParent,szName),
BackColor(this, "BackColor"),
EncodeBlend(this, "EncodeBlend"),
FrontColor(this, "FrontColor"),
PreviewBlend(this, "PreviewBlend"),
RelativePos(this, "RelativePos"){
};
~ChannelTitleAttribute(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/ChannelTitleV2.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_ChannelTitle "ChannelTitle"
class ChannelTitleV2 : public JObject
{
public:
JObjArray<JStrObj> ChannelTitleEx;
public:
ChannelTitleV2(JObject *pParent = NULL):
JObject(pParent),
ChannelTitleEx(this, "ChannelTitle"){
};
~ChannelTitleV2(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/CombEncodeInfo.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_CombEncodeInfo "CombEncodeInfo"
class CombEncodeInfo : public JObject
{
public:
JIntHex CompressionMask; ///< 掩码
JBoolObj Enable; ///< 使能项
JBoolObj HaveAudio; ///< 是否支持音频
JIntHex ResolutionMask; ///< 掩码
JStrObj StreamType; ///< 码流类型
public:
CombEncodeInfo(JObject *pParent = NULL, const char *szName = JK_CombEncodeInfo):
JObject(pParent,szName),
CompressionMask(this, "CompressionMask"),
Enable(this, "Enable"),
HaveAudio(this, "HaveAudio"),
ResolutionMask(this, "ResolutionMask"),
StreamType(this, "StreamType"){
};
~CombEncodeInfo(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/CommFunction.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_CommFunction "CommFunction"
class CommFunction : public JObject
{
public:
JBoolObj CommRS232;
JBoolObj CommRS485;
public:
CommFunction(JObject *pParent = NULL, const char *szName = JK_CommFunction):
JObject(pParent,szName),
CommRS232(this, "CommRS232"),
CommRS485(this, "CommRS485"){
};
~CommFunction(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/CoverInfo.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_CoverInfo ""
class CoverInfo : public JObject
{
public:
JIntHex BackColor;
JBoolObj EncodeBlend;
JIntHex FrontColor;
JBoolObj PreviewBlend;
JObjArray<JObjArray<JStrObj> > RelativePos;
public:
CoverInfo(JObject *pParent = NULL, const char *szName = JK_CoverInfo):
JObject(pParent,szName),
BackColor(this, "BackColor"),
EncodeBlend(this, "EncodeBlend"),
FrontColor(this, "FrontColor"),
PreviewBlend(this, "PreviewBlend"),
RelativePos(this, "RelativePos"){
};
~CoverInfo(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/Covers.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_Covers "Covers"
class Covers : public JObject
{
public:
JStrObj BackColor; ///< 物件的后景MakeRGB,和透明度
JBoolObj EncodeBlend; ///< 编码叠加
JStrObj FrontColor; ///< 物件的前景MakeRGB,和透明度
JBoolObj PreviewBlend; ///< 预览叠加,是否显示,1:显示 0:隐藏
JObjArray<JIntObj> RelativePos; ///< 物件边距与整长的比例*8191
public:
Covers(JObject *pParent = NULL, const char *szName = JK_Covers):
JObject(pParent,szName),
BackColor(this, "BackColor"),
EncodeBlend(this, "EncodeBlend"),
FrontColor(this, "FrontColor"),
PreviewBlend(this, "PreviewBlend"),
RelativePos(this, "RelativePos"){
};
~Covers(void){};
};
NS_NETSDK_CFG_END

+ 30
- 0
Include/Json_Header/DSTEnd.h View File

@@ -0,0 +1,30 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_DSTEnd "DSTEnd"
class DSTEnd : public JObject
{
public:
JIntObj Day;
JIntObj Hour;
JIntObj Minute;
JIntObj Month;
JIntObj Week;
JIntObj Year;
public:
DSTEnd(JObject *pParent = NULL, const char *szName = JK_DSTEnd):
JObject(pParent,szName),
Day(this, "Day"),
Hour(this, "Hour"),
Minute(this, "Minute"),
Month(this, "Month"),
Week(this, "Week"),
Year(this, "Year"){
};
~DSTEnd(void){};
};
NS_NETSDK_CFG_END

+ 30
- 0
Include/Json_Header/DSTStart.h View File

@@ -0,0 +1,30 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_DSTStart "DSTStart"
class DSTStart : public JObject
{
public:
JIntObj Day;
JIntObj Hour;
JIntObj Minute;
JIntObj Month;
JIntObj Week;
JIntObj Year;
public:
DSTStart(JObject *pParent = NULL, const char *szName = JK_DSTStart):
JObject(pParent,szName),
Day(this, "Day"),
Hour(this, "Hour"),
Minute(this, "Minute"),
Month(this, "Month"),
Week(this, "Week"),
Year(this, "Year"){
};
~DSTStart(void){};
};
NS_NETSDK_CFG_END

+ 25
- 0
Include/Json_Header/Detect_BlindDetect.h View File

@@ -0,0 +1,25 @@
#pragma once
#include "JObject_NetSDK.h"
#include "EventHandler.h"
NS_NETSDK_CFG_BEGIN
#define JK_Detect_BlindDetect "Detect.BlindDetect"
class Detect_BlindDetect : public JObject //视频遮挡
{
public:
JBoolObj Enable;
EventHandler mEventHandler;
JIntObj Level;
public:
Detect_BlindDetect(JObject *pParent = NULL, const char *szName = JK_Detect_BlindDetect):
JObject(pParent,szName),
Enable(this, "Enable"),
mEventHandler(this, "EventHandler"),
Level(this, "Level"){
};
~Detect_BlindDetect(void){};
};
NS_NETSDK_CFG_END

+ 23
- 0
Include/Json_Header/Detect_LossDetect.h View File

@@ -0,0 +1,23 @@
#pragma once
#include "JObject_NetSDK.h"
#include "EventHandler.h"
NS_NETSDK_CFG_BEGIN
#define JK_Detect_LossDetect "Detect.LossDetect"
class Detect_LossDetect : public JObject //视频丢失
{
public:
JBoolObj Enable;
EventHandler mEventHandler;
public:
Detect_LossDetect(JObject *pParent = NULL, const char *szName = JK_Detect_LossDetect):
JObject(pParent,szName),
Enable(this, "Enable"),
mEventHandler(this, "EventHandler"){
};
~Detect_LossDetect(void){};
};
NS_NETSDK_CFG_END

+ 27
- 0
Include/Json_Header/Detect_MotionDetect.h View File

@@ -0,0 +1,27 @@
#pragma once
#include "JObject_NetSDK.h"
#include "EventHandler.h"
NS_NETSDK_CFG_BEGIN
#define JK_Detect_MotionDetect "Detect.MotionDetect"
class Detect_MotionDetect: public JObject //移动侦测
{
public:
JBoolObj Enable; ///是否开启
EventHandler mEventHandler; ///联动事件
JIntObj Level; ///灵敏度
JObjArray<JIntHex> Region; /// 区域,每一行使用一个二进制串
public:
Detect_MotionDetect(JObject *pParent = NULL, const char *szName = JK_Detect_MotionDetect):
JObject(pParent,szName),
Enable(this, "Enable"),
mEventHandler(this, "EventHandler"),
Level(this, "Level"),
Region(this, "Region"){
};
~Detect_MotionDetect(void){};
};
NS_NETSDK_CFG_END

+ 158
- 0
Include/Json_Header/EncodeCapability.h View File

@@ -0,0 +1,158 @@
#pragma once
#include "JObject_NetSDK.h"
#include "EncodeInfo.h"
#include "CombEncodeInfo.h"
NS_NETSDK_CFG_BEGIN
struct ConfigPair
{
const char* name;
int value;
};
/// 捕获压缩格式类型
enum CaptureCompressType
{
CAPTURE_COMPRESS_DIVX_MPEG4, ///< DIVX MPEG4。
CAPTURE_COMPRESS_MS_MPEG4, ///< MS MPEG4。 (已弃用)
CAPTURE_COMPRESS_MPEG2, ///< MPEG2。
CAPTURE_COMPRESS_MPEG1, ///< MPEG1。
CAPTURE_COMPRESS_H263, ///< H.263
CAPTURE_COMPRESS_MJPG, ///< MJPG
CAPTURE_COMPRESS_FCC_MPEG4, ///< FCC MPEG4 (已弃用)
CAPTURE_COMPRESS_H264, ///< H.264
CAPTURE_COMPRESS_H265, ///< H.265
CAPTURE_COMPRESS_NR ///< 枚举的压缩标准数目。
};
static ConfigPair CompressionMap[] =
{
{"MPEG4", CAPTURE_COMPRESS_DIVX_MPEG4},
{" ", CAPTURE_COMPRESS_MS_MPEG4},
{"MPEG2", CAPTURE_COMPRESS_MPEG2},
{"MPEG1", CAPTURE_COMPRESS_MPEG1},
{"H.263", CAPTURE_COMPRESS_H263},
{"MJPG", CAPTURE_COMPRESS_MJPG},
{" ", CAPTURE_COMPRESS_FCC_MPEG4},
{"H.264", CAPTURE_COMPRESS_H264},
{"H.265", CAPTURE_COMPRESS_H265},
{NULL, }
};
/// 捕获分辨率类型
enum CaptureImageSize
{
CAPTURE_IMAGE_SIZE_D1, ///< 704*576(PAL) 704*480(NTSC)
CAPTURE_IMAGE_SIZE_HD1, ///< 704*288(PAL) 704*240(NTSC)
CAPTURE_IMAGE_SIZE_BCIF, ///< 352*576(PAL) 352*480(NTSC)
CAPTURE_IMAGE_SIZE_CIF, ///< 352*288(PAL) 352*240(NTSC)
CAPTURE_IMAGE_SIZE_QCIF, ///< 176*144(PAL) 176*120(NTSC)
CAPTURE_IMAGE_SIZE_VGA, ///< 640*480(PAL) 640*480(NTSC)
CAPTURE_IMAGE_SIZE_QVGA, ///< 320*240(PAL) 320*240(NTSC)
CAPTURE_IMAGE_SIZE_SVCD, ///< 480*480(PAL) 480*480(NTSC)
CAPTURE_IMAGE_SIZE_QQVGA, ///< 160*128(PAL) 160*128(NTSC)
CAPTURE_IMAGE_SIZE_NR = 9, ///< 枚举的图形大小种类的数目。
CAPTURE_IMAGE_SIZE_ND1 = 9, ///< 240*192
CAPTURE_IMAGE_SIZE_650TVL, ///< 926*576
CAPTURE_IMAGE_SIZE_720P, ///< 1280*720
CAPTURE_IMAGE_SIZE_1_3M, ///< 1280*960
CAPTURE_IMAGE_SIZE_UXGA , ///< 1600*1200
CAPTURE_IMAGE_SIZE_1080P, ///< 1920*1080
CAPTURE_IMAGE_SIZE_WUXGA, ///< 1920*1200
CAPTURE_IMAGE_SIZE_2_5M, ///< 1872*1408
CAPTURE_IMAGE_SIZE_3M, ///< 2048*1536
CAPTURE_IMAGE_SIZE_5M, ///< 3744*1408
CAPTURE_IMAGE_SIZE_EXT_NR = 19,
CAPTURE_IMAGE_SIZE_1080N = 19, ///< 960*1080
CAPTURE_IMAGE_SIZE_4M, ///< 2592*1520
CAPTURE_IMAGE_SIZE_6M, ///< 3072×2048
CAPTURE_IMAGE_SIZE_8M, ///< 3264×2448
CAPTURE_IMAGE_SIZE_12M, ///< 4000*3000
CAPTURE_IMAGE_SIZE_4K, ///< 4096 * 2160/3840*2160
CAPTURE_IMAGE_SIZE_EXT_V2_NR =25,
CAPTURE_IMAGE_SIZE_720N = 25, ///< 640*720
CAPTURE_IMAGE_SIZE_WSVGA, ///< 1024*576
CAPTURE_IMAGE_SIZE_NHD, ///< Wifi IPC 640*360
CAPTURE_IMAGE_SIZE_3M_N, ///< 1024*1536
CAPTURE_IMAGE_SIZE_4M_N, ///< 1296*1520
CAPTURE_IMAGE_SIZE_5M_N, ///< 1872*1408
CAPTURE_IMAGE_SIZE_4K_N, ///< 2048 * 2160通用/1920*2160海思
CAPTURE_IMAGE_SIZE_EXT_V3_NR,
};
static ConfigPair s_videoResolutionMap[] =
{
{"D1", CAPTURE_IMAGE_SIZE_D1},
{"HD1", CAPTURE_IMAGE_SIZE_HD1},
{"BCIF", CAPTURE_IMAGE_SIZE_BCIF},
{"CIF", CAPTURE_IMAGE_SIZE_CIF},
{"QCIF", CAPTURE_IMAGE_SIZE_QCIF},
{"VGA", CAPTURE_IMAGE_SIZE_VGA},
{"QVGA", CAPTURE_IMAGE_SIZE_QVGA},
{"SVCD", CAPTURE_IMAGE_SIZE_SVCD},
{"QQVGA",CAPTURE_IMAGE_SIZE_QQVGA},
{"ND1",CAPTURE_IMAGE_SIZE_ND1},
{"650TVL",CAPTURE_IMAGE_SIZE_650TVL},
{"720P",CAPTURE_IMAGE_SIZE_720P},
{"1_3M",CAPTURE_IMAGE_SIZE_1_3M},
{"UXGA",CAPTURE_IMAGE_SIZE_UXGA},
{"1080P",CAPTURE_IMAGE_SIZE_1080P},
{"WUXGA",CAPTURE_IMAGE_SIZE_WUXGA},
{"2_5M",CAPTURE_IMAGE_SIZE_2_5M},
{"3M",CAPTURE_IMAGE_SIZE_3M},
{"5M",CAPTURE_IMAGE_SIZE_5M},
{"1080N",CAPTURE_IMAGE_SIZE_1080N},
{"4M",CAPTURE_IMAGE_SIZE_4M},
{"6M",CAPTURE_IMAGE_SIZE_6M},
{"8M",CAPTURE_IMAGE_SIZE_8M},
{"12M",CAPTURE_IMAGE_SIZE_12M},
{"4K",CAPTURE_IMAGE_SIZE_4K},
{"720N",CAPTURE_IMAGE_SIZE_720N},
{"WSVGA",CAPTURE_IMAGE_SIZE_WSVGA},
{"NHD", CAPTURE_IMAGE_SIZE_NHD},
{"3M_N",CAPTURE_IMAGE_SIZE_3M_N},
{"4M_N",CAPTURE_IMAGE_SIZE_4M_N},
{"5M_N",CAPTURE_IMAGE_SIZE_5M_N},
{"4K_N",CAPTURE_IMAGE_SIZE_4K_N},
{NULL, }
};
#define JK_EncodeCapability "EncodeCapability"
class EncodeCapability : public JObject
{
public:
JIntObj ChannelMaxSetSync; ///< 每个通道分辨率是否需要同步 0-不同步, 1 -同步
JObjArray<CombEncodeInfo> mCombEncodeInfo; ///< 组合编码信息,暂时最大就4中码流
JIntHex Compression; ///< 编码模式掩码
JObjArray<EncodeInfo> mEncodeInfo; ///< 编码信息,暂时最大就4中码流
JObjArray<JIntHex> ExImageSizePerChannel; ///< 每个通道支持的辅码流图像分辨率
JObjArray<JObjArray<JIntHex> > ExImageSizePerChannelEx; ///< 每个通道支持的辅码流图像分辨率
JObjArray<JIntHex> ImageSizePerChannel; ///< 每个通道支持的图像分辨率
JIntObj MaxBitrate; ///< 最高码流Kbps
JIntObj MaxEncodePower; ///< 支持的最大编码能力
JObjArray<JIntHex> MaxEncodePowerPerChannel; ///< 每个通道支持的最高编码能力
JObjArray<JIntHex> ThirdStreamImageSize; ///< CHL_3IRD_T码流支持的图像分辨率
JObjArray<JIntHex> FourthStreamImageSize; ///< CHL_4RTH_T码流支持的图像分辨率
public:
EncodeCapability(JObject *pParent = NULL, const char *szName = JK_EncodeCapability):
JObject(pParent,szName),
ChannelMaxSetSync(this, "ChannelMaxSetSync"),
mCombEncodeInfo(this, "CombEncodeInfo"),
Compression(this, "Compression"),
mEncodeInfo(this, "EncodeInfo"),
ExImageSizePerChannel(this, "ExImageSizePerChannel"),
ExImageSizePerChannelEx(this, "ExImageSizePerChannelEx"),
ImageSizePerChannel(this, "ImageSizePerChannel"),
MaxBitrate(this, "MaxBitrate"),
MaxEncodePower(this, "MaxEncodePower"),
ThirdStreamImageSize(this, "ThirdStreamImageSize"),
FourthStreamImageSize(this, "FourthStreamImageSize"),
MaxEncodePowerPerChannel(this, "MaxEncodePowerPerChannel"){
this->Parse("{ \"EncodeCapability\" : { \"ChannelMaxSetSync\" : 0, \"CombEncodeInfo\" : [ { \"CompressionMask\" : \"0x00000000\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"MainStream\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream2\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream3\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream4\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"JPEGStream\" } ], \"Compression\" : \"0x00000000\", \"EncodeInfo\" : [ { \"CompressionMask\" : \"0x00000080\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0xFFBFFFFF\", \"StreamType\" : \"MainStream\" }, { \"CompressionMask\" : \"0x00000080\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0xFFFFFFFF\", \"StreamType\" : \"ExtraStream2\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream3\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream4\" }, { \"CompressionMask\" : \"0x00000080\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0xFFFFFFFF\", \"StreamType\" : \"JPEGStream\" } ], \"ExImageSizePerChannel\" : [ \"0x00000009\" ], \"ExImageSizePerChannelEx\" : [ [ \"0x00000018\", \"0x00000000\", \"0x00000000\", \"0x00000018\", \"0x00000010\", \"0x00000078\", \"0x00000040\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000009\", \"0x00000009\", \"0x00000000\", \"0x00000009\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\" ] ], \"FourthStreamImageSize\" : [ \"0x00000000\" ], \"ImageSizePerChannel\" : [ \"0x00000801\" ], \"MaxBitrate\" : 49152, \"MaxEncodePower\" : 38016000, \"MaxEncodePowerPerChannel\" : [ \"0x02441400\" ], \"ThirdStreamImageSize\" : [ \"0x00000000\" ] }, \"Name\" : \"EncodeCapability\", \"Ret\" : 100, \"SessionID\" : \"0x00000178\" }");
};
~EncodeCapability(void){};
};
NS_NETSDK_CFG_END

+ 44
- 0
Include/Json_Header/EncodeFunction.h View File

@@ -0,0 +1,44 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_EncodeFunction "EncodeFunction"
class EncodeFunction : public JObject
{
public:
JBoolObj DoubleStream; ///< 双码流功能
JBoolObj CombineStream; ///< 组合编码
JBoolObj SnapStream; ///< 抓图编码
JBoolObj WaterMark; ///< 水印功能------功能废弃(2016.1.16)
JBoolObj IFrameRange; ///< I帧间隔
JBoolObj LowBitRate; ///< 低码流,家用产品使用
JBoolObj SmartH264; ///< H264+
JBoolObj IntelligentEncode; ///< 智能编码
JBoolObj SmartH264Plus; ///< H264++
JBoolObj SmartH264V2; //新的H264+/H264++
JBoolObj CustomChnDAMode; ///< 自定义数模切换功能
JBoolObj SmartEncodeDigital; ///Smart编码数字通道
JBoolObj MultiChannel; ///多通道编码
public:
EncodeFunction(JObject *pParent = NULL, const char *szName = JK_EncodeFunction):
JObject(pParent,szName),
DoubleStream(this, "DoubleStream"),
CombineStream(this, "CombineStream"),
SnapStream(this, "SnapStream"),
WaterMark(this, "WaterMark"),
IFrameRange(this, "IFrameRange"),
LowBitRate(this, "LowBitRate"),
SmartH264(this, "SmartH264"),
IntelligentEncode(this, "IntelligentEncode"),
SmartH264Plus(this, "SmartH264Plus"),
SmartH264V2(this, "SmartH264V2"),
CustomChnDAMode(this, "CustomChnDAMode"),
SmartEncodeDigital(this, "SmartEncodeDigital"),
MultiChannel(this, "MultiChannel"){
};
~EncodeFunction(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/EncodeInfo.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_EncodeInfo "EncodeInfo"
class EncodeInfo : public JObject
{
public:
JIntHex CompressionMask; ///< 掩码
JBoolObj Enable; ///< 使能项
JBoolObj HaveAudio; ///< 是否支持音频
JIntHex ResolutionMask; ///< 掩码
JStrObj StreamType; ///< 码流类型
public:
EncodeInfo(JObject *pParent = NULL, const char *szName = JK_EncodeInfo):
JObject(pParent,szName),
CompressionMask(this, "CompressionMask"),
Enable(this, "Enable"),
HaveAudio(this, "HaveAudio"),
ResolutionMask(this, "ResolutionMask"),
StreamType(this, "StreamType"){
};
~EncodeInfo(void){};
};
NS_NETSDK_CFG_END

+ 78
- 0
Include/Json_Header/EventHandler.h View File

@@ -0,0 +1,78 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_EventHandler "EventHandler"
class EventHandler : public JObject
{
public:
JStrObj AlarmInfo; /// 要显示的报警信息
JBoolObj AlarmOutEnable; /// 报警使能
JIntObj AlarmOutLatch; /// 报警输出延时:10?300 sec
JIntHex AlarmOutMask; /// 报警输出通道掩码
JBoolObj BeepEnable; /// 蜂鸣
JIntObj EventLatch; /// 联动开始延时时间,s为单位
JBoolObj FTPEnable; /// 启动FTP传输
JBoolObj LogEnable; /// 日志使能
JBoolObj MailEnable; /// 发送邮件
JBoolObj MatrixEnable; /// 矩阵使能
JIntHex MatrixMask; /// 矩阵掩码
JBoolObj MessageEnable; /// 发送消息到报警中心
JBoolObj MsgtoNetEnable; /// 消息上传给网络使能
JBoolObj MultimediaMsgEnable; /// 发送彩信
JBoolObj PtzEnable; /// 云台联动使能
JBoolObj RecordEnable; /// 录像使能
JIntObj RecordLatch; /// 录像延时:10?300 sec
JIntHex RecordMask; /// 录象掩码
JBoolObj ShortMsgEnable; /// 发送短信
JBoolObj ShowInfo; /// 是否在GUI上和编码里显示报警信息
JIntHex ShowInfoMask; /// 要联动显示报警信息的通道掩码
JBoolObj SnapEnable; /// 抓图使能
JIntHex SnapShotMask; /// 抓图掩码
JObjArray<JObjArray<JStrObj> > TimeSection;/// 录像时间段
JBoolObj TipEnable; /// 屏幕提示使能
JBoolObj TourEnable; /// 轮巡使能
JIntHex TourMask; /// 抓图掩码
JBoolObj VoiceEnable; /// 语音提示
JIntObj VoiceType; /// 和上面的bVoice对应,表示语音提示音类型
JObjArray<JObjArray<JIntObj> > PtzLink; /// 云台联动项
public:
EventHandler(JObject *pParent = NULL, const char *szName = JK_EventHandler):
JObject(pParent,szName),
AlarmInfo(this, "AlarmInfo"),
AlarmOutEnable(this, "AlarmOutEnable"),
AlarmOutLatch(this, "AlarmOutLatch"),
AlarmOutMask(this, "AlarmOutMask"),
BeepEnable(this, "BeepEnable"),
EventLatch(this, "EventLatch"),
FTPEnable(this, "FTPEnable"),
LogEnable(this, "LogEnable"),
MailEnable(this, "MailEnable"),
MatrixEnable(this, "MatrixEnable"),
MatrixMask(this, "MatrixMask"),
MessageEnable(this, "MessageEnable"),
MsgtoNetEnable(this, "MsgtoNetEnable"),
MultimediaMsgEnable(this, "MultimediaMsgEnable"),
PtzEnable(this, "PtzEnable"),
RecordEnable(this, "RecordEnable"),
RecordLatch(this, "RecordLatch"),
RecordMask(this, "RecordMask"),
ShortMsgEnable(this, "ShortMsgEnable"),
ShowInfo(this, "ShowInfo"),
ShowInfoMask(this, "ShowInfoMask"),
SnapEnable(this, "SnapEnable"),
SnapShotMask(this, "SnapShotMask"),
TimeSection(this, "TimeSection"),
TipEnable(this, "TipEnable"),
TourEnable(this, "TourEnable"),
TourMask(this, "TourMask"),
VoiceType(this, "VoiceType"),
PtzLink(this, "PtzLink"),
VoiceEnable(this, "VoiceEnable"){
};
~EventHandler(void){};
};
NS_NETSDK_CFG_END

+ 25
- 0
Include/Json_Header/ExposureParam.h View File

@@ -0,0 +1,25 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_ExposureParam "ExposureParam"
class ExposureParam : public JObject //曝光
{
public:
JIntHex LeastTime; ///自动曝光时间下限或手动曝光时间,单位微秒
JIntObj Level; ///曝光等级
JIntHex MostTime; ///自动曝光时间上限,单位微秒
public:
ExposureParam(JObject *pParent = NULL, const char *szName = JK_ExposureParam):
JObject(pParent,szName),
LeastTime(this, "LeastTime"),
Level(this, "Level"),
MostTime(this, "MostTime"){
};
~ExposureParam(void){};
};
NS_NETSDK_CFG_END

+ 25
- 0
Include/Json_Header/ExtraFormat.h View File

@@ -0,0 +1,25 @@
#pragma once
#include "JObject_NetSDK.h"
#include "Video.h"
NS_NETSDK_CFG_BEGIN
#define JK_ExtraFormat "ExtraFormat"
class ExtraFormat : public JObject
{
public:
JBoolObj AudioEnable; ///是否开启视频编码
Video mVideo; ///视频格式定义
JBoolObj VideoEnable; ///是否开启音频编码
public:
ExtraFormat(JObject *pParent = NULL, const char *szName = JK_ExtraFormat):
JObject(pParent,szName),
AudioEnable(this, "AudioEnable"),
mVideo(this, "Video"),
VideoEnable(this, "VideoEnable"){
};
~ExtraFormat(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/FbExtraStateCtrl.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_FbExtraStateCtrl "FbExtraStateCtrl"
class FbExtraStateCtrl : public JObject
{
public:
JIntObj ison;
public:
FbExtraStateCtrl(JObject *pParent = NULL, const char *szName = JK_FbExtraStateCtrl):
JObject(pParent,szName),
ison(this, "ison"){
};
~FbExtraStateCtrl(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/GainParam.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_GainParam "GainParam"
class GainParam : public JObject
{
public:
JIntObj AutoGain; ///自动增益是否启用,0:不开启 1:开启
JIntObj Gain; ///自动增益上限(自动增益启用)或固定增益值
public:
GainParam(JObject *pParent = NULL, const char *szName = JK_GainParam):
JObject(pParent,szName),
AutoGain(this, "AutoGain"),
Gain(this, "Gain"){
};
~GainParam(void){};
};
NS_NETSDK_CFG_END

+ 38
- 0
Include/Json_Header/General_General.h View File

@@ -0,0 +1,38 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_General_General "General.General"
class General_General : public JObject
{
public:
JIntObj AutoLogout;
JIntObj FontSize;
JIntObj IranCalendarEnable;
JIntObj LocalNo;
JStrObj MachineName;
JStrObj OverWrite;
JIntObj ScreenAutoShutdown;
JIntObj ScreenSaveTime;
JIntObj SnapInterval;
JStrObj VideoOutPut;
public:
General_General(JObject *pParent = NULL, const char *szName = JK_General_General):
JObject(pParent,szName),
AutoLogout(this, "AutoLogout"),
FontSize(this, "FontSize"),
IranCalendarEnable(this, "IranCalendarEnable"),
LocalNo(this, "LocalNo"),
MachineName(this, "MachineName"),
OverWrite(this, "OverWrite"),
ScreenAutoShutdown(this, "ScreenAutoShutdown"),
ScreenSaveTime(this, "ScreenSaveTime"),
SnapInterval(this, "SnapInterval"),
VideoOutPut(this, "VideoOutPut"){
};
~General_General(void){};
};
NS_NETSDK_CFG_END

+ 38
- 0
Include/Json_Header/General_Location.h View File

@@ -0,0 +1,38 @@
#pragma once
#include "JObject_NetSDK.h"
#include "DSTEnd.h"
#include "DSTStart.h"
NS_NETSDK_CFG_BEGIN
#define JK_General_Location "General.Location"
class General_Location : public JObject
{
public:
DSTEnd mDSTEnd;
JStrObj DSTRule;
DSTStart mDSTStart;
JStrObj DateFormat;
JStrObj DateSeparator;
JStrObj Language;
JStrObj TimeFormat;
JStrObj VideoFormat;
JIntObj WorkDay;
public:
General_Location(JObject *pParent = NULL, const char *szName = JK_General_Location):
JObject(pParent,szName),
mDSTEnd(this, "DSTEnd"),
DSTRule(this, "DSTRule"),
mDSTStart(this, "DSTStart"),
DateFormat(this, "DateFormat"),
DateSeparator(this, "DateSeparator"),
Language(this, "Language"),
TimeFormat(this, "TimeFormat"),
VideoFormat(this, "VideoFormat"),
WorkDay(this, "WorkDay"){
};
~General_Location(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/InputMethod.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_InputMethod "InputMethod"
class InputMethod : public JObject
{
public:
JBoolObj NoSupportChinese;
public:
InputMethod(JObject *pParent = NULL, const char *szName = JK_InputMethod):
JObject(pParent,szName),
NoSupportChinese(this, "NoSupportChinese"){
};
~InputMethod(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/IntelDataWriteRsp.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_IntelDataWriteRsp "IntelDataWriteRsp"
class IntelDataWriteRsp : public JObject
{
public:
JIntObj Index;
public:
IntelDataWriteRsp(JObject *pParent = NULL, const char *szName = JK_IntelDataWriteRsp):
JObject(pParent,szName),
Index(this, "Index"){
};
~IntelDataWriteRsp(void){};
};
NS_NETSDK_CFG_END

+ 218
- 0
Include/Json_Header/JObject.h View File

@@ -0,0 +1,218 @@
#pragma once
#ifndef JOBJECT_H
#define JOBJECT_H
#include <iostream>
#include <vector>
#ifdef WIN32
#ifdef XJSON_EXPORTS
#define XJSON_API __declspec(dllexport)
#define XJSON_TEMPLATE __declspec(dllexport)
#else
#define XJSON_API __declspec(dllimport)
#define XJSON_TEMPLATE
#endif
#define CALLBACK __stdcall
#else
#define XJSON_API
#define XJSON_TEMPLATE
#define CALLBACK
#endif
typedef void* PJSON_DATA;
typedef void* PJSON_STRING;
class XJSON_API JObject
{
public:
JObject(JObject *pParent = NULL, const char *szName = "");
virtual ~JObject(void);
public:
virtual int Parse(const char *szJson);
virtual int Parse(PJSON_DATA pParent, int index = -1);
virtual const char *ToString();
virtual const char* Name(){return name;};
virtual void SetName(const char*nm);
virtual int ToInt();
virtual bool ToBool();
virtual int SetValue(const char *szValue);
virtual int SetValue(bool bValue);
virtual int SetValue(int nValue);
virtual JObject *NewChild();
virtual int AddChild(JObject *pNew);
virtual int DelChild(const char *szName);
virtual char *GetChannelName(int nChannelNo, const char* szStrName, char *pOutChannelName);
virtual int GetBoolOfObjs(const char *szKeys, int nDefValue = 0);
void JSON_SetParent(PJSON_DATA pParent);
int JSON_AddToArray(JObject *pChild);
int JSON_DelFromArray(int nIndex);
protected:
virtual void Clear();
protected:
char *name;
PJSON_DATA _pJSData;
PJSON_DATA _pRoot;
std::vector<JObject *> _items;
PJSON_STRING _sJsonReslt;
};
class XJSON_API JIntObj : public JObject
{
public:
JIntObj(JObject *pParent = NULL, const char *szName = "");
virtual ~JIntObj(void);
public:
int Value();
virtual void operator=(const int nValue);
};
class XJSON_API JStrObj : public JObject
{
public:
JStrObj(JObject *pParent = NULL, const char *szName = "");
virtual ~JStrObj(void);
public:
const char *Value();
virtual void operator=(const char *szValue);
protected:
void *_sValue;
};
class XJSON_API JIntHex : public JStrObj
{
public:
JIntHex(JObject *pParent = NULL, const char *szName = "");
virtual ~JIntHex(void);
int SetValue(bool bValue);
int SetValue(int nValue);
int ToInt();
public:
int Value();
virtual void operator=(int);
};
class XJSON_API JBoolObj : public JObject
{
public:
JBoolObj(JObject *pParent = NULL, const char *szName = "");
virtual ~JBoolObj(void);
public:
bool Value();
virtual void operator=(const bool bValue);
};
class XJSON_API JDoubleObj : public JObject
{
public:
JDoubleObj(JObject *pParent = NULL, const char *szName = "");
virtual ~JDoubleObj(void);

public:
double Value();
virtual void operator=(const double nValue);
};
template <class T>
class XJSON_TEMPLATE JObjArray : public JObject
{
public:
JObjArray(JObject *pParent = NULL, const char *szName = ""):
JObject(pParent, szName)
{
};
virtual ~JObjArray(void){};
public:
T &operator[] (const int index)
{
return *_arrayItems[index];
};
void Clear()
{
typename std::vector<T*>::iterator iter = _arrayItems.begin();
while ( iter != _arrayItems.end() )
{
if( *iter )
{
delete *iter;
}
iter++;
}
_arrayItems.clear();
_items.clear();
JObject::Clear();
};
JObject *NewChild()
{
T *pNew = new T();
_arrayItems.push_back(pNew);
return (JObject *)pNew;
};
virtual int AddChild(JObject *pChild)
{
JSON_AddToArray(pChild);
pChild->JSON_SetParent(NULL);
_arrayItems.push_back((T*)pChild);
return 0;
};
virtual int DelChild(int nIndex)
{
if (nIndex < 0 || nIndex >= _arrayItems.size())
{
return -1;
}
JSON_DelFromArray(nIndex);
delete _arrayItems[nIndex];
_arrayItems.erase(_arrayItems.begin() + nIndex);
return 0;
}
int Size()
{
return (int)_arrayItems.size();
};
protected:
std::vector<T*> _arrayItems;
};
template <class T>
class XJSON_TEMPLATE JObjArrayObject : public JObject
{
public:
JObjArrayObject(JObject *pParent = NULL, const char *szName = ""):
JObject(NULL, ""),
objs(this, szName)
{
};
virtual ~JObjArrayObject(void){};
virtual int AddChild(JObject *pNew)
{
return objs.AddChild(pNew);
};
public:
JObjArray<T> objs;
};
#endif //JOBJECT_H

+ 9
- 0
Include/Json_Header/JObject_NetSDK.h View File

@@ -0,0 +1,9 @@
#pragma once
#include "JObject.h"
#define NS_NETSDK_CFG_BEGIN namespace XSDK_CFG{
#define NS_NETSDK_CFG_END }
#define USE_NS_NETSDK_CFG using namespace XSDK_CFG;

+ 26
- 0
Include/Json_Header/JPOINT.h View File

@@ -0,0 +1,26 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_POINT "POINT"
class JPOINT : public JObject
{
public:
JIntObj bottom;
JIntObj left;
JIntObj right;
JIntObj top;
public:
JPOINT(JObject *pParent = NULL, const char *szName = JK_POINT):
JObject(pParent,szName),
bottom(this, "bottom"),
left(this, "left"),
right(this, "right"),
top(this, "top"){
};
~JPOINT(void){};
};
NS_NETSDK_CFG_END

+ 15
- 0
Include/Json_Header/JsonCfgBase.h View File

@@ -0,0 +1,15 @@
#pragma once
#include "JObject_NetSDK.h"
#include <string>
using namespace std;
NS_NETSDK_CFG_BEGIN

#define CFG_CHN_NAME(x,y) JCFG::GetChnCfgName(x, y).c_str()
namespace JCFG
{
string GetChnCfgName(const char *szCfgName, int nChnIndex);
}

NS_NETSDK_CFG_END



+ 24
- 0
Include/Json_Header/MainFormat.h View File

@@ -0,0 +1,24 @@
#pragma once
#include "JObject_NetSDK.h"
#include "Video.h"
NS_NETSDK_CFG_BEGIN
#define JK_MainFormat "MainFormat"
class MainFormat : public JObject //主码流配置
{
public:
JBoolObj AudioEnable; ///是否开启视频编码
Video mVideo; ///视频格式定义
JBoolObj VideoEnable; ///是否开启音频编码
public:
MainFormat(JObject *pParent = NULL, const char *szName = JK_MainFormat):
JObject(pParent,szName),
AudioEnable(this, "AudioEnable"),
mVideo(this, "Video"),
VideoEnable(this, "VideoEnable"){
};
~MainFormat(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/MobileDVR.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_MobileDVR "MobileDVR"
class MobileDVR : public JObject
{
public:
JBoolObj CarPlateSet;
JBoolObj DVRBootType;
JBoolObj DelaySet;
JBoolObj GpsTiming;
JBoolObj StatusExchange;
public:
MobileDVR(JObject *pParent = NULL, const char *szName = JK_MobileDVR):
JObject(pParent,szName),
CarPlateSet(this, "CarPlateSet"),
DVRBootType(this, "DVRBootType"),
DelaySet(this, "DelaySet"),
GpsTiming(this, "GpsTiming"),
StatusExchange(this, "StatusExchange"){
};
~MobileDVR(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/ModifyPassword.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_ModifyPassword "ModifyPassword"
class ModifyPassword : public JObject //修改密码相关
{
public:
JStrObj EncryptType;
JStrObj NewPassWord;
JStrObj PassWord;
JStrObj SessionID;
JStrObj UserName;
public:
ModifyPassword(JObject *pParent = NULL, const char *szName = JK_ModifyPassword):
JObject(pParent,szName),
EncryptType(this, "EncryptType"),
NewPassWord(this, "NewPassWord"),
PassWord(this, "PassWord"),
SessionID(this, "SessionID"),
UserName(this, "UserName"){
};
~ModifyPassword(void){};
};
NS_NETSDK_CFG_END

+ 102
- 0
Include/Json_Header/NetServerFunction.h View File

@@ -0,0 +1,102 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_NetServerFunction "NetServerFunction"
class NetServerFunction : public JObject
{
public:
JBoolObj MACProtocol;
JBoolObj MonitorPlatform;
JBoolObj NATProtocol;
JBoolObj Net3G;
JBoolObj NetARSP;
JBoolObj NetAlarmCenter;
JBoolObj NetAnJuP2P;
JBoolObj NetBaiduCloud;
JBoolObj NetBjlThy;
JBoolObj NetDAS;
JBoolObj NetDDNS;
JBoolObj NetDHCP;
JBoolObj NetDNS;
JBoolObj NetEmail;
JBoolObj NetFTP;
JBoolObj NetGodEyeAlarm;
JBoolObj NetIPFilter;
JBoolObj NetKaiCong;
JBoolObj NetKeyboard;
JBoolObj NetLocalSdkPlatform;
JBoolObj NetMobile;
JBoolObj NetMobileWatch;
JBoolObj NetMutliCast;
JBoolObj NetNTP;
JBoolObj NetNat;
JBoolObj NetOpenVPN;
JBoolObj NetPMS;
JBoolObj NetPPPoE;
JBoolObj NetPhoneMultimediaMsg;
JBoolObj NetPhoneShortMsg;
JBoolObj NetPlatMega;
JBoolObj NetPlatShiSou;
JBoolObj NetPlatVVEye;
JBoolObj NetPlatXingWang;
JBoolObj NetRTSP;
JBoolObj NetSPVMN;
JBoolObj NetTUTKIOTC;
JBoolObj NetUPNP;
JBoolObj NetVPN;
JBoolObj NetWifi;
JBoolObj PlatFormGBeyes;
JBoolObj XMHeartBeat;
public:
NetServerFunction(JObject *pParent = NULL, const char *szName = JK_NetServerFunction):
JObject(pParent,szName),
MACProtocol(this, "MACProtocol"),
MonitorPlatform(this, "MonitorPlatform"),
NATProtocol(this, "NATProtocol"),
Net3G(this, "Net3G"),
NetARSP(this, "NetARSP"),
NetAlarmCenter(this, "NetAlarmCenter"),
NetAnJuP2P(this, "NetAnJuP2P"),
NetBaiduCloud(this, "NetBaiduCloud"),
NetBjlThy(this, "NetBjlThy"),
NetDAS(this, "NetDAS"),
NetDDNS(this, "NetDDNS"),
NetDHCP(this, "NetDHCP"),
NetDNS(this, "NetDNS"),
NetEmail(this, "NetEmail"),
NetFTP(this, "NetFTP"),
NetGodEyeAlarm(this, "NetGodEyeAlarm"),
NetIPFilter(this, "NetIPFilter"),
NetKaiCong(this, "NetKaiCong"),
NetKeyboard(this, "NetKeyboard"),
NetLocalSdkPlatform(this, "NetLocalSdkPlatform"),
NetMobile(this, "NetMobile"),
NetMobileWatch(this, "NetMobileWatch"),
NetMutliCast(this, "NetMutliCast"),
NetNTP(this, "NetNTP"),
NetNat(this, "NetNat"),
NetOpenVPN(this, "NetOpenVPN"),
NetPMS(this, "NetPMS"),
NetPPPoE(this, "NetPPPoE"),
NetPhoneMultimediaMsg(this, "NetPhoneMultimediaMsg"),
NetPhoneShortMsg(this, "NetPhoneShortMsg"),
NetPlatMega(this, "NetPlatMega"),
NetPlatShiSou(this, "NetPlatShiSou"),
NetPlatVVEye(this, "NetPlatVVEye"),
NetPlatXingWang(this, "NetPlatXingWang"),
NetRTSP(this, "NetRTSP"),
NetSPVMN(this, "NetSPVMN"),
NetTUTKIOTC(this, "NetTUTKIOTC"),
NetUPNP(this, "NetUPNP"),
NetVPN(this, "NetVPN"),
NetWifi(this, "NetWifi"),
PlatFormGBeyes(this, "PlatFormGBeyes"),
XMHeartBeat(this, "XMHeartBeat"){
};
~NetServerFunction(void){};
};
NS_NETSDK_CFG_END

+ 66
- 0
Include/Json_Header/NetWork_NetCommon.h View File

@@ -0,0 +1,66 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_NetWork_NetCommon "NetWork.NetCommon"
class NetWork_NetCommon : public JObject
{
public:
JStrObj DeviceID;
JIntObj DeviceType;
JStrObj DvrMac;
JIntObj EncryptType;
JStrObj GateWay;
JStrObj HostIP;
JStrObj HostName;
JIntObj HttpPort;
JStrObj MAC;
JIntObj MaxBps;
JIntObj MonMode;
JStrObj Password;
JStrObj SN;
JIntObj SSLPort;
JStrObj Submask;
JIntObj TCPMaxConn;
JIntObj TCPPort;
JIntObj TransferPlan;
JIntObj UDPPort;
JBoolObj UseHSDownLoad;
JStrObj Username;
JStrObj Version;
JStrObj BuildDate;
public:
NetWork_NetCommon(JObject *pParent = NULL, const char *szName = JK_NetWork_NetCommon):
JObject(pParent,szName),
DeviceID(this, "DeviceID"),
DeviceType(this, "DeviceType"),
DvrMac(this, "DvrMac"),
EncryptType(this, "EncryptType"),
GateWay(this, "GateWay"),
HostIP(this, "HostIP"),
HostName(this, "HostName"),
HttpPort(this, "HttpPort"),
MAC(this, "MAC"),
MaxBps(this, "MaxBps"),
MonMode(this, "MonMode"),
Password(this, "Password"),
SN(this, "SN"),
SSLPort(this, "SSLPort"),
Submask(this, "Submask"),
TCPMaxConn(this, "TCPMaxConn"),
TCPPort(this, "TCPPort"),
TransferPlan(this, "TransferPlan"),
UDPPort(this, "UDPPort"),
UseHSDownLoad(this, "UseHSDownLoad"),
Username(this, "Username"),
Version(this, "Version"),
BuildDate(this, "BuildDate"){
const char *szInit = "{ \"Name\" : \"NetWork.NetCommon\", \"NetWork.NetCommon\" : { \"DeviceID\" : \"0x00000000\", \"DeviceType\" : 65535, \"DvrMac\" : \"50:7B:9D:C2:04:FA\", \"EncryptType\" : 1, \"GateWay\" : \"0x01200a0a\", \"HostIP\" : \"0x010aa8c0\", \"HostName\" : \"robot_5002\", \"HttpPort\" : 80, \"MAC\" : \"ac:a2:13:0e:50:02\", \"MaxBps\" : 0, \"MonMode\" : 0, \"Password\" : \"QyZfVmgd\", \"SN\" : \"\", \"SSLPort\" : 8443, \"Submask\" : \"0x00f0ffff\", \"TCPMaxConn\" : 10, \"TCPPort\" : 34567, \"TransferPlan\" : 0, \"UDPPort\" : 34562, \"UseHSDownLoad\" : false, \"Username\" : \"admin\", \"Version\" : \"V4.02.R12.E1207810.12002.130302.00000\", \"BuildDate\" : \"2016-12-30 10:53:37\" }, \"Ret\" : 100, \"SessionID\" : \"0x00000000\" }";
this->Parse(szInit);
};
~NetWork_NetCommon(void){};
};
NS_NETSDK_CFG_END

+ 40
- 0
Include/Json_Header/NetWork_Wifi.h View File

@@ -0,0 +1,40 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_NetWork_Wifi "NetWork.Wifi"
class NetWork_Wifi : public JObject
{
public:
JStrObj Auth;
JIntObj Channel;
JBoolObj Enable;
JStrObj EncrypType;
JStrObj GateWay;
JStrObj HostIP;
JIntObj KeyType;
JStrObj Keys;
JStrObj NetType;
JStrObj SSID;
JStrObj Submask;
public:
NetWork_Wifi(JObject *pParent = NULL, const char *szName = JK_NetWork_Wifi):
JObject(pParent,szName),
Auth(this, "Auth"),
Channel(this, "Channel"),
Enable(this, "Enable"),
EncrypType(this, "EncrypType"),
GateWay(this, "GateWay"),
HostIP(this, "HostIP"),
KeyType(this, "KeyType"),
Keys(this, "Keys"),
NetType(this, "NetType"),
SSID(this, "SSID"),
Submask(this, "Submask"){
};
~NetWork_Wifi(void){};
};
NS_NETSDK_CFG_END

+ 41
- 0
Include/Json_Header/OPDefaultConfig.h View File

@@ -0,0 +1,41 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPDefaultConfig "OPDefaultConfig"
class OPDefaultConfig : public JObject
{
public:
JBoolObj Account; // 用户管理
JBoolObj Alarm; // 报警
JBoolObj CameraPARAM; // 网络摄像头配置
JBoolObj CommPtz; // 云台,串口
JBoolObj Encode; // 编码配置
JBoolObj Factory; // 恢复出厂设置配置
JBoolObj General; // 普通配置
JBoolObj NetCommon; // 通用网络
JBoolObj NetServer; // 网络服务
JBoolObj Preview; // 预览配置
JBoolObj Record; // 录像配置
public:
OPDefaultConfig(JObject *pParent = NULL, const char *szName = JK_OPDefaultConfig):
JObject(pParent,szName),
Account(this, "Account"),
Alarm(this, "Alarm"),
CameraPARAM(this, "CameraPARAM"),
CommPtz(this, "CommPtz"),
Encode(this, "Encode"),
Factory(this, "Factory"),
General(this, "General"),
NetCommon(this, "NetCommon"),
NetServer(this, "NetServer"),
Preview(this, "Preview"),
Record(this, "Record"){
this->Parse("{ \"Name\" : \"OPDefaultConfig\", \"OPDefaultConfig\" : { \"Account\" : false, \"Alarm\" : false, \"CameraPARAM\" : false, \"CommPtz\" : false, \"Encode\" : false, \"Factory\" : false, \"General\" : false, \"NetCommon\" : false, \"NetServer\" : false, \"Preview\" : false, \"Record\" : false }, \"SessionID\" : \"0x4d\" }");
};
~OPDefaultConfig(void){};
};
NS_NETSDK_CFG_END

+ 36
- 0
Include/Json_Header/OPFileQuery.h View File

@@ -0,0 +1,36 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPFileQuery "OPFileQuery"
// MSGID:EXCMD_FILESEARCH_REQ(1440)
class OPFileQuery : public JObject
{
public:
JStrObj BeginTime;
JIntObj Channel;
JStrObj DriverTypeMask;
JStrObj EndTime;
JStrObj SubType;
JIntHex StreamType;
JStrObj Type;
public:
OPFileQuery(JObject *pParent = NULL, const char *szName = JK_OPFileQuery):
JObject(pParent,szName),
BeginTime(this, "BeginTime"),
Channel(this, "Channel"),
DriverTypeMask(this, "DriverTypeMask"),
EndTime(this, "EndTime"),
SubType(this, "Event"),
StreamType(this, "StreamType"),
Type(this, "Type")
{
this->Parse("{ \"Name\" : \"OPFileQuery\", \"OPFileQuery\" : { \"BeginTime\" : \"2018-07-24 00:00:00\", \"Channel\" : 0, \"DriverTypeMask\" : \"0x0000FFFF\", \"EndTime\" : \"2018-07-24 23:59:59\", \"Event\" : \"*\", \"StreamType\" : \"0x00000000\", \"Type\" : \"h264\" }, \"SessionID\" : \"0x4d5\" }");
};
~OPFileQuery(void){};
};
NS_NETSDK_CFG_END

+ 27
- 0
Include/Json_Header/OPLogQuery.h View File

@@ -0,0 +1,27 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPLogQuery "OPLogQuery"
class OPLogQuery : public JObject
{
public:
JStrObj BeginTime; ///< 查询日志开始时间,格式:YYYY-MM-DD HH:mm:SS
JStrObj EndTime; ///< 查询日志结束时间,格式:YYYY-MM-DD HH:mm:SS
JIntObj LogPosition; ///< 从上次查询的结束时的日志指针:0
JStrObj Type; ///< 日志类型--“LogAll”:所有;"LogSystem":系统;"LogConfig":配置;"LogStorage":存储;"LogAlarm":报警;"LogRecord":录像;"LogAccount":账号;"LogFile":文件
public:
OPLogQuery(JObject *pParent = NULL, const char *szName = JK_OPLogQuery):
JObject(pParent,szName),
BeginTime(this, "BeginTime"),
EndTime(this, "EndTime"),
LogPosition(this, "LogPosition"),
Type(this, "Type"){
this->Parse("{ \"Name\" : \"OPLogQuery\", \"OPLogQuery\" : { \"BeginTime\" : \"2019-03-27 00:00:00\", \"EndTime\" : \"2019-03-27 23:59:59\", \"LogPosition\" : 0, \"Type\" : \"LogAll\" }, \"SessionID\" : \"0x1\" }");
};
~OPLogQuery(void){};
};
NS_NETSDK_CFG_END

+ 66
- 0
Include/Json_Header/OPLogQueryInfo.h View File

@@ -0,0 +1,66 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
////////////////返回的日志类型字符串注释/////////////////
#define LogTypeAccountRestore "AccountRestore" //账号还原默认
#define LogTypeAddGroup "AddGroup" //添加组
#define LogTypeAddUser "AddUser" //增加用户
#define LogTypeClearDriver "ClearDriver" //清除驱动器数据
#define LogTypeClearLog "ClearLog" //清除日志
#define LogTypeDeleteGroup "DeleteGroup" //删除组
#define LogTypeDeleteUser "DeleteUser" //删除用户
#define LogTypeDiskChanged "DiskChanged" //存储设备变动
#define LogTypeEventLatch "EventLatch" //延迟事件
#define LogTypeEventStart "EventStart" //报警开始
#define LogTypeEventStop "EventStop" //报警结束
#define LogTypeFileAccess "FileAccess" //文件存取
#define LogTypeFileAccessError "FileAccessError" //文件访问出错
#define LogTypeFileSearch "FileSearch" //文件查询
#define LogTypeLogIn "LogIn" //用户登录
#define LogTypeLogOut "LogOut" //用户登出
#define LogTypeModifyGroup "ModifyGroup" //修改组
#define LogTypeModifyPassword "ModifyPassword" //修改密码
#define LogTypeModifyTime "ModifyTime" //修改系统时间
#define LogTypeModifyUser "ModifyUser" //修改用户
#define LogTypePTZTour "PTZTour" //巡航路线
#define LogTypeReboot "Reboot" //重启
#define LogTypeRecord "Record" //录像操作
#define LogTypeSaveConfig "SaveConfig" //保存配置
#define LogTypeSetDriverType "SetDriverType" //设置驱动器类型
#define LogTypeShutDown "ShutDown" //关机
#define LogTypeStorageDeviceError "StorageDeviceError" //存储设备出错
#define LogTypeUpdate "Update" //更新
#define LogTypeUpgrade "Upgrade" //系统升级
#define LogTypeZeroBitrate "ZeroBitrate" //无码流
#define LogTypeSaveSystemState "SaveSystemState" //保存系统状态
#define LogTypeTimeChanged "TimeChanged" //修改时间
#define LogTypeSetTime "SetTime" //设置时间
#define JK_OPLogQueryInfo "OPLogQuery"
class OPLogQueryInfo : public JObject
{
public:
JStrObj Data; ///< 日志数据
JIntObj Position; ///< 从上次查询的结束时的日志指针
JStrObj Time; ///< 日志时间
JStrObj Type; ///< 日志类型
JStrObj User; ///< 日志用户
public:
OPLogQueryInfo(JObject *pParent = NULL, const char *szName = JK_OPLogQueryInfo):
JObject(pParent,szName),
Data(this, "Data"),
Position(this, "Position"),
Time(this, "Time"),
Type(this, "Type"),
User(this, "User"){
};
~OPLogQueryInfo(void){};
};
NS_NETSDK_CFG_END

+ 21
- 0
Include/Json_Header/OPMachine.h View File

@@ -0,0 +1,21 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPMachine "OPMachine"
class OPMachine : public JObject
{
public:
JStrObj Action;
public:
OPMachine(JObject *pParent = NULL, const char *szName = JK_OPMachine):
JObject(pParent,szName),
Action(this, "Action"){
this->Parse("{ \"Name\" : \"OPMachine\", \"OPMachine\" : { \"Action\" : \"Shutdown\" }, \"SessionID\" : \"0x1b\" }");
};
~OPMachine(void){};
};
NS_NETSDK_CFG_END

+ 23
- 0
Include/Json_Header/OPNetKeyboard.h View File

@@ -0,0 +1,23 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPNetKeyboard "OPNetKeyboard"
class OPNetKeyboard : public JObject
{
public:
JStrObj Status;
JStrObj Value;
public:
OPNetKeyboard(JObject *pParent = NULL, const char *szName = JK_OPNetKeyboard):
JObject(pParent,szName),
Status(this, "Status"),
Value(this, "Value"){
this->Parse("{\"Name\" : \"OPNetKeyboard\",\"OPNetKeyboard\" : {\"Status\" : \"KeyUp\",\"Value\" : \"AutoTour\"},\"SessionID\" : \"0x5a91\"}");
};
~OPNetKeyboard(void){};
};
NS_NETSDK_CFG_END

+ 58
- 0
Include/Json_Header/OPPTZControl.h View File

@@ -0,0 +1,58 @@
#pragma once
#include "JObject_NetSDK.h"
#include "Parameter.h"
#include "../XNetSDKDefine.h"
NS_NETSDK_CFG_BEGIN
/////////////////方向控制/////////////////
#define JPTZ_DirectionLeftUp "DirectionLeftUp"
#define JPTZ_DirectionUp "DirectionUp"
#define JPTZ_DirectionRightUp "DirectionRightUp"
#define JPTZ_DirectionLeft "DirectionLeft"
#define JPTZ_DirectionRight "DirectionRight"
#define JPTZ_DirectionLeftDown "DirectionLeftDown"
#define JPTZ_DirectionDown "DirectionDown"
#define JPTZ_DirectionRightDown "DirectionRightDown"
#define JPTZ_IrisSmall "IrisSmall"
#define JPTZ_IrisLarge "IrisLarge"
#define JPTZ_FocusNear "FocusNear"
#define JPTZ_FocusFar "FocusFar"
#define JPTZ_ZoomWide "ZoomWide"
#define JPTZ_ZoomTile "ZoomTile"
#define JPTZ_Reset "Reset"
#define JPTZ_OPERATION_START 65535
#define JPTZ_OPERATION_STOP -1
/////////////////云台预置点操作/////////////////
#define JPTZ_GotoPreset "GotoPreset"
#define JPTZ_SetPreset "SetPreset"
#define JPTZ_ClearPreset "ClearPreset"
/////////////////云台巡航操作/////////////////
#define JPTZ_AddTour "AddTour" //添加巡航点
#define JPTZ_DeleteTour "DeleteTour" //删除预置点
#define JPTZ_StartTour "StartTour" //开始巡航
#define JPTZ_StopTour "StopTour" //停止巡航
#define JK_OPPTZControl "OPPTZControl"
class OPPTZControl : public JObject
{
public:
Parameter mParameter;
JStrObj Command;
public:
OPPTZControl(JObject *pParent = NULL, const char *szName = JK_OPPTZControl):
JObject(pParent, JK_OPPTZControl),
mParameter(this, "Parameter"),
Command(this,"Command")
{
this->Parse("{ \"Name\" : \"OPPTZControl\", \"OPPTZControl\" : { \"Command\" : \"DirectionLeft\", \"Parameter\" : { \"AUX\" : { \"Number\" : 0, \"Status\" : \"On\" }, \"Channel\" : 0, \"MenuOpts\" : \"Enter\", \"POINT\" : { \"bottom\" : 0, \"left\" : 0, \"right\" : 0, \"top\" : 0 }, \"Pattern\" : \"SetBegin\", \"Preset\" : 65535, \"Step\" : 5, \"Tour\" : 0 } }, \"SessionID\" : \"0x0000000000\" }");
};
~OPPTZControl(void){};
};
NS_NETSDK_CFG_END

+ 109
- 0
Include/Json_Header/OPPlayBack.h View File

@@ -0,0 +1,109 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PlayBackParameter "Parameter"
class PlayBackParameter : public JObject
{
public:
JIntObj Channel;
JStrObj FileName;
JStrObj PlayMode;
JIntObj Stream_Type;
JIntObj Value;
JStrObj TransMode;
JStrObj IntelligentPlayBackEvent;
JIntObj IntelligentPlayBackSpeed;
public:
PlayBackParameter(JObject *pParent = NULL, const char *szName = JK_PlayBackParameter):
JObject(pParent,szName),
Channel(this, "Channel"),
FileName(this, "FileName"),
PlayMode(this, "PlayMode"),
Stream_Type(this, "Stream_Type"),
Value(this, "Value"),
TransMode(this, "TransMode"),
IntelligentPlayBackEvent(this, "IntelligentPlayBackEvent"),
IntelligentPlayBackSpeed(this, "IntelligentPlayBackSpeed"){
};
~PlayBackParameter(void){};
// F_SUB_COMMON = 0x00, F_SUB_LOCALALARM = 0x01, ///< 本地报警
// F_SUB_NETALARM = 0x02, ///< 网络报警 F_SUB_NETABORT = 0x03, ///< 断网报警
// F_SUB_IPCALARM = 0x04, ///< IPC报警 F_SUB_SPEEDALARM = 0x05, ///< 超速报警
// F_SUB_GSENSORALARM = 0x06, ///< SENSOR报警 F_SUB_SERIALALARM = 0x07, ///<串口报警
// F_SUB_MOTIONDETECT = 0x08, ///< 移动侦测 F_SUB_LOSSDETECT = 0x09, ///< 视频丢失
// F_SUB_BLINDDETECT = 0x0a, ///< 视频遮挡 F_SUB_PIRALARM = 0x0b, ///< 红外检测
// F_SUB_CARDNUMBER = 0x0c, ///< 卡号录像 F_SUB_PERIMETER = 0x0d, ///< 周界检测
// F_SUB_TRIPWIRE = 0x0e, ///< 单绊线检测 F_SUB_ABANDUM = 0x0f, ///< 物品遗留
// F_SUB_STOLEN = 0x10, ///< 物品被盗 F_SUB_CHANGE = 0x11, ///< 场景变换
// F_SUB_NR = 0x1f,
void SetPlayBackEvent(unsigned int *event, int nCount)
{
unsigned int value;
for(int i = 0; i < nCount; i++)
{
value |= (0x1 << event[i]);
}
};
void SetPlayBackEvent(const char *szEvent)
{
};
};
#define JK_OPPlayBack "OPPlayBack"
class OPPlayBack : public JObject
{
public:
JStrObj Action;
PlayBackParameter mParameter;
JStrObj EndTime;
JStrObj StartTime;
public:
OPPlayBack(JObject *pParent = NULL, const char *szName = JK_OPPlayBack):
JObject(pParent,szName),
Action(this, "Action"),
mParameter(this, JK_PlayBackParameter),
EndTime(this, "EndTime"),
StartTime(this, "StartTime"){
static const char *s_szInitValue =
"{\r\n\"Name\" : \"OPPlayBack\",\r\n\
\"SessionID\" : \"0x2c\", \r\n\
\"OPPlayBack\": {\r\n\
\"Action\": \"Stop\",\r\n\
\"Parameter\": {\r\n\
\"Channel\": 1,\r\n\
\"FileName\": \"01_2018-09-12 00:00:00\",\r\n\
\"PlayMode\": \"ByTime\",\r\n\
\"Stream_Type\": 0,\r\n\
\"Value\": 0,\r\n\
\"TransMode\": \"TCP\",\r\n\
\"IntelligentPlayBackEvent\": \"ALL\",\r\n\
\"IntelligentPlayBackSpeed\": 0\r\n\
},\r\n\
\"StartTime\": \"2018-09-12 00:00:00\",\r\n\
\"EndTime\": \"2018-09-12 23:59:59\"\r\n\
}\r\n}";
this->Parse(s_szInitValue);
};
void SetStartTime(int tt[6])
{
char szTime[32];
sprintf(szTime, "%04d-%02d-%02d %02d:%02d:%02d", tt[0], tt[1], tt[2], tt[3], tt[4], tt[5]);
StartTime = szTime;
};
void SetEndTime(int tt[6])
{
char szTime[32];
sprintf(szTime, "%04d-%02d-%02d %02d:%02d:%02d", tt[0], tt[1], tt[2], tt[3], tt[4], tt[5]);
EndTime = szTime;
};
~OPPlayBack(void){};
};
NS_NETSDK_CFG_END

+ 36
- 0
Include/Json_Header/OPPowerSocketGet.h View File

@@ -0,0 +1,36 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPPowerSocketGet "OPPowerSocketGet"
class OPPowerSocketGet : public JObject
{
public:
JIntObj Switch;
JIntObj AutoSwitch;
JIntObj Light;
JIntObj UsbPower;
JIntObj AutoLight;
JIntObj AutoUsbPower;
JIntObj SensorSwitch;
JIntObj SensorLight;
JIntObj SensorUsbPower;
public:
OPPowerSocketGet(JObject *pParent = NULL, const char *szName = JK_OPPowerSocketGet):
JObject(pParent,szName),
Switch(this, "Switch"),
AutoSwitch(this, "AutoSwitch"),
Light(this, "Light"),
UsbPower(this, "UsbPower"),
AutoLight(this, "AutoLight"),
AutoUsbPower(this, "AutoUsbPower"),
SensorSwitch(this, "SensorSwitch"),
SensorLight(this, "SensorLight"),
SensorUsbPower(this, "SensorUsbPower"){
};
~OPPowerSocketGet(void){};
};
NS_NETSDK_CFG_END

+ 29
- 0
Include/Json_Header/OPReqImport.h View File

@@ -0,0 +1,29 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPReqImport "OPReqImport"
class OPReqImport : public JObject
{
public:
JIntObj Channel;
JIntObj Length;
JStrObj IntelType;
JStrObj Opr;
JIntObj Index;
public:
OPReqImport(JObject *pParent = NULL, const char *szName = JK_OPReqImport):
JObject(pParent,szName),
Channel(this, "Channel"),
Length(this, "Length"),
IntelType(this, "IntelType"),
Index(this, "Index"),
Opr(this, "Opr"){
this->Parse("{\"Name\" : \"OPReqImport\",\"OPReqImport\" : {\"Channel\" : 0,\"Length\" : 0,\"Index\" : 0,\"IntelType\" : \"CarPlate\",\"Opr\" : \"Stop\"},\"SessionID\" : \"0x5a91\"}");
};
~OPReqImport(void){};
};
NS_NETSDK_CFG_END

+ 24
- 0
Include/Json_Header/OPSetOSD.h View File

@@ -0,0 +1,24 @@
#pragma once
#include "JObject_NetSDK.h"
#include "OSDInfo.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPSetOSD "OPSetOSD"
class OPSetOSD : public JObject
{
public:
JStrObj strEnc;
JObjArray<OSDInfo> mOSDInfo;
public:
OPSetOSD(JObject *pParent = NULL, const char *szName = JK_OPSetOSD):
JObject(pParent,szName),
strEnc(this, "strEnc"),
mOSDInfo(this, "OSDInfo"){
this->Parse("{ \"Name\" : \"OPSetOSD\", \"OPSetOSD\" : { \"OSDInfo\" : [ { \"Info\" : [ \"CAM01\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" ], \"OSDInfoWidget\" : { \"BackColor\" : \"0xF00000FF\", \"EncodeBlend\" : true, \"FrontColor\" : \"0x40000000\", \"PreviewBlend\" : false, \"RelativePos\" : [ 425, 728, 55318480, 0 ] } } ], \"strEnc\" : \"UTF-8\" }, \"SessionID\" : \"0x29\" }");
};
~OPSetOSD(void){};
};
NS_NETSDK_CFG_END

+ 29
- 0
Include/Json_Header/OPStorageManager.h View File

@@ -0,0 +1,29 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPStorageManager "OPStorageManager"
class OPStorageManager : public JObject //存储管理
{
public:
JStrObj Action;
JIntObj PartNo;
JIntObj SerialNo;
JStrObj Type;
public:
OPStorageManager(JObject *pParent = NULL, const char *szName = JK_OPStorageManager):
JObject(pParent,szName),
Action(this, "Action"),
PartNo(this, "PartNo"),
SerialNo(this, "SerialNo"),
Type(this, "Type"){
char szConfig[256] = {0};
sprintf(szConfig, "{\"Name\":\"%s\", \"%s\":{\"Action\":\"\",\"PartNo\":0,\"SerialNo\":0,\"Type\":\"\"}}", JK_OPStorageManager, JK_OPStorageManager);
int nRet = Parse(szConfig);
};
~OPStorageManager(void){};
};
NS_NETSDK_CFG_END

+ 29
- 0
Include/Json_Header/OPTimeSetting.h View File

@@ -0,0 +1,29 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OPTimeSetting "OPTimeSetting"
class OPTimeSetting : public JObject
{
public:
JStrObj Name;
JStrObj mOPTimeSetting;
JStrObj SessionID;
public:
OPTimeSetting():
JObject(NULL, ""),
Name(this, JK_OPTimeSetting),
mOPTimeSetting(this, "\"2018-07-25 17:20:37\""),
SessionID(this, "SessionID")
{
this->Parse("{ \"Name\" : \"OPTimeSetting\", \"OPTimeSetting\" : \"2018-07-25 17:20:37\", \"SessionID\" : \"0x00000000\" }");
};
~OPTimeSetting(void)
{
};
};
NS_NETSDK_CFG_END

+ 23
- 0
Include/Json_Header/OSDInfo.h View File

@@ -0,0 +1,23 @@
#pragma once
#include "JObject_NetSDK.h"
#include "OSDInfoWidget.h"
NS_NETSDK_CFG_BEGIN
#define JK_OSDInfo "OSDInfo"
class OSDInfo : public JObject
{
public:
JObjArray<JStrObj> Info;
OSDInfoWidget mOSDInfoWidget;
public:
OSDInfo(JObject *pParent = NULL, const char *szName = JK_OSDInfo):
JObject(pParent,szName),
Info(this, "Info"),
mOSDInfoWidget(this, "OSDInfoWidget"){
};
~OSDInfo(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/OSDInfoWidget.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OSDInfoWidget "OSDInfoWidget"
class OSDInfoWidget : public JObject
{
public:
JStrObj BackColor;
JBoolObj EncodeBlend;
JStrObj FrontColor;
JBoolObj PreviewBlend;
JObjArray<JIntObj> RelativePos;
public:
OSDInfoWidget(JObject *pParent = NULL, const char *szName = JK_OSDInfoWidget):
JObject(pParent,szName),
BackColor(this, "BackColor"),
EncodeBlend(this, "EncodeBlend"),
FrontColor(this, "FrontColor"),
PreviewBlend(this, "PreviewBlend"),
RelativePos(this, "RelativePos"){
};
~OSDInfoWidget(void){};
};
NS_NETSDK_CFG_END

+ 212
- 0
Include/Json_Header/OtherFunction.h View File

@@ -0,0 +1,212 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_OtherFunction "OtherFunction"
class OtherFunction : public JObject
{
public:
JBoolObj DownLoadPause;
JBoolObj USBsupportRecord;
JBoolObj SDsupportRecord;
JBoolObj SupportOnvifClient;
JBoolObj SupportNetLocalSearch;
JBoolObj SupportMaxPlayback;
JBoolObj SupportNVR;
JBoolObj SupportC7Platform;
JBoolObj SupportMailTest;
JBoolObj SupportOSDInfo;
JBoolObj HideDigital;
JBoolObj NotSupportAH; //水平锐度AcutanceHorizontal
JBoolObj NotSupportAV; //垂直锐度AcutanceVertial
JBoolObj SupportBT; //宽动态BroadTrends
JBoolObj NotSupportTalk ; //对讲
JBoolObj AlterDigitalName; //支持修改数字通道名称
JBoolObj SupportShowConnectStatus;
JBoolObj SupportPlayBackExactSeek;
JBoolObj TitleAndStateUpload;
JBoolObj NOHDDRECORD;
JBoolObj MusicFilePlay;
JBoolObj SupportSetDigIP;
JBoolObj SupportShowProductType;
JBoolObj SupportCamareStyle;
JBoolObj Supportonviftitle;
JBoolObj SupportDimenCode;
JBoolObj SupportStorageNAS;
JBoolObj ShowFalseCheckTime;
JBoolObj SupportTimeZone;
JBoolObj ShowAlarmLevelRegion;
JBoolObj SupportPOS; //支持POS
JBoolObj HddLowSpaceUseMB; //硬盘空间不足报警用MB
JBoolObj SupportCustomOemInfo; //定制OEM客户版本信息
JBoolObj SupportDigitalEncode; //数字通道编码配置
JBoolObj SupportResumePtzState; //开机恢复云台状态
JBoolObj SupportSnapCfg;
JBoolObj SupportAbnormitySendMail; //存储设备存在及存储异常及存储空间不足发邮件}
JBoolObj SupportDigitalPre; //数字通道支持预录
JBoolObj SupportWriteLog; //报警页面添加是否写日志勾选框
JBoolObj SuppportChangeOnvifPort; //支持修改onvif端口
JBoolObj SupportCommDataUpload; //支持串口数据透传
JBoolObj SupportTextPassword; //保存可以反解的密码用于onvif鉴权
JBoolObj SupportCloudUpgrade;
JBoolObj SupportUserProgram; //支持客户启动小程序
JBoolObj SupportModifyFrontcfg; //
JBoolObj SupportFTPTest; //ftp测试
JBoolObj SupportPtzIdleState; //云台空闲动作配置
JBoolObj SupportImpRecord; //web端是否提供关键录像搜索选项
JBoolObj SupportCameraMotorCtrl; //IE端支持机器人马达控制
JBoolObj SupportEncodeAddBeep; //设置编码每隔30秒加入beep声
JBoolObj SupportFishEye; //鱼眼功能
JBoolObj SupportSPVMNNasServer; //安徽超清定制
JBoolObj SupportSmallChnTitleFont; //使用12*18的通道标题点阵
JBoolObj SupportCfgCloudupgrad; //支持云升级功能配置修改
JBoolObj SupportStorageFailReboot;
JBoolObj SupportSplitControl; //修改DVR预览画面分割
JBoolObj SupportRTSPClient; //数字通道连接RTSP前端
JBoolObj SupportLowLuxMode; //摄像机是否支持微光模式
JBoolObj SupportSwitchResolution; //修改前端数字通道分辨率
JBoolObj SupportSlowMotion; //摄像机是否支持慢动作
JBoolObj SupportCorridorMode; //支持走廊模式
JBoolObj SupportWIFINVR; //是WIFINVR设备
JBoolObj SupportSnapSchedule; //是否支持定时抓图
JBoolObj SupportPWDSafety; //是否支持密码找回},
JBoolObj SupportPlateDetect; //支持车牌侦测
JBoolObj SupportBreviary; //是否支持缩略图
JBoolObj SupportIntelligentPlayBack; //是否支持智能快放
JBoolObj SupportFaceDetect; //是否支持人脸识别
JBoolObj SupportDeviceInfoNew; //是否支持新设备信息
JBoolObj SupportBallCameraTrackDetect; //支持球机跟踪识别
JBoolObj SpecialNight; //夜间特殊模式控制
JBoolObj SupportSetHardwareAbility; //支持设置设备硬件能力集
JBoolObj SupportSafetyEmail; //支持通过Email重置密码
JBoolObj SupportSensorAbilitySetting; ///支持合封模组支持的sensor等级
JBoolObj SupportAlarmVoiceTips;
JBoolObj SupportAlarmLinkLight;
JBoolObj SupportSetRtcTime; //支持Rtc时间校正功能
JBoolObj SupportAudioFormat; //支持音频编码
JBoolObj SupportSoftPhotosensitive; //软光敏
JBoolObj SupportCloudUpgradeIPC;
JBoolObj SupportFileUpgradeIPC; //支持IE发送文件通过NVR给IPC升级
JBoolObj SupportParkingGuide; //支持车位引导功能
JBoolObj SupportLimitNetLoginUsers; //限制网络登陆的用户数
JBoolObj SupportCoaxialParamCtrl; //同轴参数控制
JBoolObj SupportShowH265X; //显示H265X编码
JBoolObj SupportLogStorageCtrl; //日志存储控制
JBoolObj SupportAdminContactInfo; //支持设置管理员联系方式
JBoolObj SupportWarnWeakPWD; //显示弱密码提醒
JBoolObj SupportStringChangedXPOE; //支持通道模式显示为XPOE
JBoolObj SupportAlarmVoiceTipsType; //支持报警提示音类型修改
JBoolObj SupportAcrossIPCTalk; //支持前端IPC对讲
JBoolObj SupportSetVolume; //支持设置喇叭音量
JBoolObj SupportFaceDetectV2;
JBoolObj SupportFaceksHumanDetect; //支持旷视人形检测
JBoolObj SupportFacekshttpcommunication; //支持旷视http传输
JBoolObj SupportFaceRecognition; //支持人脸识别
JBoolObj SupportCustomizeLpRect; //是否支持任意形状的车位
public:
OtherFunction(JObject *pParent = NULL, const char *szName = JK_OtherFunction):
JObject(pParent,szName),
DownLoadPause(this, "DownLoadPause"),
USBsupportRecord(this, "USBsupportRecord"),
SDsupportRecord(this, "SDsupportRecord"),
SupportOnvifClient(this, "SupportOnvifClient"),
SupportNetLocalSearch(this, "SupportNetLocalSearch"),
SupportMaxPlayback(this, "SupportMaxPlayback"),
SupportNVR(this, "SupportNVR"),
SupportC7Platform(this, "SupportC7Platform"),
SupportMailTest(this, "SupportMailTest"),
SupportOSDInfo(this, "SupportOSDInfo"),
HideDigital(this, "HideDigital"),
NotSupportAH(this, "NotSupportAH"),
NotSupportAV(this, "NotSupportAV"),
SupportBT(this, "SupportBT"),
NotSupportTalk(this, "NotSupportTalk"),
AlterDigitalName(this, "AlterDigitalName"),
SupportShowConnectStatus(this, "SupportShowConnectStatus"),
SupportPlayBackExactSeek(this, "SupportPlayBackExactSeek"),
TitleAndStateUpload(this, "TitleAndStateUpload"),
NOHDDRECORD(this, "NOHDDRECORD"),
MusicFilePlay(this, "MusicFilePlay"),
SupportSetDigIP(this, "SupportSetDigIP"),
SupportShowProductType(this, "SupportShowProductType"),
SupportCamareStyle(this, "SupportCamareStyle"),
Supportonviftitle(this, "Supportonviftitle"),
SupportDimenCode(this, "SupportDimenCode"),
SupportStorageNAS(this, "SupportStorageNAS"),
ShowFalseCheckTime(this, "ShowFalseCheckTime"),
SupportTimeZone(this, "SupportTimeZone"),
ShowAlarmLevelRegion(this, "ShowAlarmLevelRegion"),
SupportPOS(this, "SupportPOS"),
HddLowSpaceUseMB(this, "HddLowSpaceUseMB"),
SupportCustomOemInfo(this, "SupportCustomOemInfo"),
SupportDigitalEncode(this, "SupportDigitalEncode"),
SupportResumePtzState(this, "SupportResumePtzState"),
SupportSnapCfg(this, "SupportSnapCfg"),
SupportAbnormitySendMail(this, "SupportAbnormitySendMail"),
SupportDigitalPre(this, "SupportDigitalPre"),
SupportWriteLog(this, "SupportWriteLog"),
SuppportChangeOnvifPort(this, "SuppportChangeOnvifPort"),
SupportCommDataUpload(this, "SupportCommDataUpload"),
SupportTextPassword(this, "SupportTextPassword"),
SupportCloudUpgrade(this, "SupportCloudUpgrade"),
SupportUserProgram(this, "SupportUserProgram"),
SupportModifyFrontcfg(this, "SupportModifyFrontcfg"),
SupportFTPTest(this, "SupportFTPTest"),
SupportPtzIdleState(this, "SupportPtzIdleState"),
SupportImpRecord(this, "SupportImpRecord"),
SupportCameraMotorCtrl(this, "SupportCameraMotorCtrl"),
SupportEncodeAddBeep(this, "SupportEncodeAddBeep"),
SupportFishEye(this, "SupportFishEye"),
SupportSPVMNNasServer(this, "SupportSPVMNNasServer"),
SupportSmallChnTitleFont(this, "SupportSmallChnTitleFont"),
SupportCfgCloudupgrad(this, "SupportCfgCloudupgrad"),
SupportStorageFailReboot(this, "SupportStorageFailReboot"),
SupportSplitControl(this, "SupportSplitControl"),
SupportRTSPClient(this, "SupportRTSPClient"),
SupportLowLuxMode(this, "SupportLowLuxMode"),
SupportSwitchResolution(this, "SupportSwitchResolution"),
SupportSlowMotion(this, "SupportSlowMotion"),
SupportCorridorMode(this, "SupportCorridorMode"),
SupportWIFINVR(this, "SupportWIFINVR"),
SupportSnapSchedule(this, "SupportSnapSchedule"),
SupportPWDSafety(this, "SupportPWDSafety"),
SupportPlateDetect(this, "SupportPlateDetect"),
SupportBreviary(this, "SupportBreviary"),
SupportIntelligentPlayBack(this, "SupportIntelligentPlayBack"),
SupportFaceDetect(this, "SupportFaceDetect"),
SupportDeviceInfoNew(this, "SupportDeviceInfoNew"),
SupportBallCameraTrackDetect(this, "SupportBallCameraTrackDetect"),
SpecialNight(this, "SpecialNight"),
SupportSetHardwareAbility(this, "SupportSetHardwareAbility"),
SupportSafetyEmail(this, "SupportSafetyEmail"),
SupportSensorAbilitySetting(this, "SupportSensorAbilitySetting"),
SupportAlarmVoiceTips(this, "SupportAlarmVoiceTips"),
SupportAlarmLinkLight(this, "SupportAlarmLinkLight"),
SupportSetRtcTime(this, "SupportSetRtcTime"),
SupportAudioFormat(this, "SupportAudioFormat"),
SupportSoftPhotosensitive(this, "SupportSoftPhotosensitive"),
SupportCloudUpgradeIPC(this, "SupportCloudUpgradeIPC"),
SupportFileUpgradeIPC(this, "SupportFileUpgradeIPC"),
SupportParkingGuide(this, "SupportParkingGuide"),
SupportLimitNetLoginUsers(this, "SupportLimitNetLoginUsers"),
SupportCoaxialParamCtrl(this, "SupportCoaxialParamCtrl"),
SupportShowH265X(this, "SupportShowH265X"),
SupportLogStorageCtrl(this, "SupportLogStorageCtrl"),
SupportAdminContactInfo(this, "SupportAdminContactInfo"),
SupportWarnWeakPWD(this, "SupportWarnWeakPWD"),
SupportStringChangedXPOE(this, "SupportStringChangedXPOE"),
SupportAlarmVoiceTipsType(this, "SupportAlarmVoiceTipsType"),
SupportAcrossIPCTalk(this, "SupportAcrossIPCTalk"),
SupportSetVolume(this, "SupportSetVolume"),
SupportFaceDetectV2(this, "SupportFaceDetectV2"),
SupportFaceksHumanDetect(this, "SupportFaceksHumanDetect"),
SupportFacekshttpcommunication(this, "SupportFacekshttpcommunication"),
SupportFaceRecognition(this, "SupportFaceRecognition"),
SupportCustomizeLpRect(this, "SupportCustomizeLpRect"){
};
~OtherFunction(void){};
};
NS_NETSDK_CFG_END

+ 36
- 0
Include/Json_Header/Parameter.h View File

@@ -0,0 +1,36 @@
#pragma once
#include "JObject_NetSDK.h"
#include "CFG_AUX.h"
#include "JPOINT.h"
NS_NETSDK_CFG_BEGIN
#define JK_Parameter "Parameter"
class Parameter : public JObject
{
public:
AUX mAUX;
JIntObj Channel;
JStrObj MenuOpts;
JPOINT mPOINT;
JStrObj Pattern;
JIntObj Preset;
JIntObj Step;
JIntObj Tour;
public:
Parameter(JObject *pParent = NULL, const char *szName = JK_Parameter):
JObject(pParent,szName),
mAUX(this, "AUX"),
Channel(this, "Channel"),
MenuOpts(this, "MenuOpts"),
mPOINT(this, "POINT"),
Pattern(this, "Pattern"),
Preset(this, "Preset"),
Step(this, "Step"),
Tour(this, "Tour"){
};
~Parameter(void){};
};
NS_NETSDK_CFG_END

+ 38
- 0
Include/Json_Header/Partition.h View File

@@ -0,0 +1,38 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_Partition "Partition"
class Partition : public JObject //硬盘相关
{
public:
JIntObj DirverType;
JBoolObj IsCurrent;
JIntObj LogicSerialNo;
JStrObj NewEndTime;
JStrObj NewStartTime;
JStrObj OldEndTime;
JStrObj OldStartTime;
JIntHex RemainSpace;
JIntObj Status;
JIntHex TotalSpace;
public:
Partition(JObject *pParent = NULL, const char *szName = JK_Partition):
JObject(pParent,szName),
DirverType(this, "DirverType"),
IsCurrent(this, "IsCurrent"),
LogicSerialNo(this, "LogicSerialNo"),
NewEndTime(this, "NewEndTime"),
NewStartTime(this, "NewStartTime"),
OldEndTime(this, "OldEndTime"),
OldStartTime(this, "OldStartTime"),
RemainSpace(this, "RemainSpace"),
Status(this, "Status"),
TotalSpace(this, "TotalSpace"){
};
~Partition(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/PowerSocketAutoLightItem.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocketAutoLightItem ""
class PowerSocketAutoLightItem : public JObject
{
public:
JIntObj DayStop;
JBoolObj Enable;
JIntObj TimeStop;
JIntObj TimeStart;
JIntObj DayStart;
public:
PowerSocketAutoLightItem(JObject *pParent = NULL, const char *szName = JK_PowerSocketAutoLightItem):
JObject(pParent,szName),
DayStop(this, "DayStop"),
Enable(this, "Enable"),
TimeStop(this, "TimeStop"),
TimeStart(this, "TimeStart"),
DayStart(this, "DayStart"){
};
~PowerSocketAutoLightItem(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/PowerSocketAutoSwitchItem.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocketAutoSwitchItem ""
class PowerSocketAutoSwitchItem : public JObject
{
public:
JIntObj TimeStart;
JIntObj TimeStop;
JIntObj DayStart;
JIntObj DayStop;
JBoolObj Enable;
public:
PowerSocketAutoSwitchItem(JObject *pParent = NULL, const char *szName = JK_PowerSocketAutoSwitchItem):
JObject(pParent,szName),
TimeStart(this, "TimeStart"),
TimeStop(this, "TimeStop"),
DayStart(this, "DayStart"),
DayStop(this, "DayStop"),
Enable(this, "Enable"){
};
~PowerSocketAutoSwitchItem(void){};
};
NS_NETSDK_CFG_END

+ 28
- 0
Include/Json_Header/PowerSocketAutoUsbItem.h View File

@@ -0,0 +1,28 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocketAutoUsbItem "PowerSocketAutoUsbItem"
class PowerSocketAutoUsbItem : public JObject
{
public:
JIntObj DayStop;
JBoolObj Enable;
JIntObj TimeStop;
JIntObj TimeStart;
JIntObj DayStart;
public:
PowerSocketAutoUsbItem(JObject *pParent = NULL, const char *szName = JK_PowerSocketAutoUsbItem):
JObject(pParent,szName),
DayStop(this, "DayStop"),
Enable(this, "Enable"),
TimeStop(this, "TimeStop"),
TimeStart(this, "TimeStart"),
DayStart(this, "DayStart"){
};
~PowerSocketAutoUsbItem(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/PowerSocket_Arm.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_Arm "PowerSocket.Arm"
class PowerSocket_Arm : public JObject
{
public:
JIntObj Guard;
public:
PowerSocket_Arm(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Arm):
JObject(pParent,szName),
Guard(this, "Guard"){
};
~PowerSocket_Arm(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/PowerSocket_Authority.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_Authority "PowerSocket.Authority"
class PowerSocket_Authority : public JObject
{
public:
JIntObj Level;
JIntObj Ability;
public:
PowerSocket_Authority(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Authority):
JObject(pParent,szName),
Level(this, "Level"),
Ability(this, "Ability"){
};
~PowerSocket_Authority(void){};
};
NS_NETSDK_CFG_BEGIN

+ 21
- 0
Include/Json_Header/PowerSocket_AutoLight.h View File

@@ -0,0 +1,21 @@
#pragma once
#include "JObject_NetSDK.h"
#include "PowerSocketAutoLightItem.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_AutoLight "PowerSocket.AutoLight"
class PowerSocket_AutoLight : public JObject
{
public:
JObjArray<PowerSocketAutoLightItem> AutoLight;
public:
PowerSocket_AutoLight(JObject *pParent = NULL, const char *szName = JK_PowerSocket_AutoLight):
JObject(pParent,szName),
AutoLight(this, ""){
};
~PowerSocket_AutoLight(void){};
};
NS_NETSDK_CFG_END

+ 21
- 0
Include/Json_Header/PowerSocket_AutoSwitch.h View File

@@ -0,0 +1,21 @@
#pragma once
#include "JObject_NetSDK.h"
#include "PowerSocketAutoSwitchItem.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_AutoSwitch "PowerSocket.AutoSwitch"
class PowerSocket_AutoSwitch : public JObject
{
public:
JObjArray<PowerSocketAutoSwitchItem> AutoSwitch;
public:
PowerSocket_AutoSwitch(JObject *pParent = NULL, const char *szName = JK_PowerSocket_AutoSwitch):
JObject(pParent,szName),
AutoSwitch(this, ""){
};
~PowerSocket_AutoSwitch(void){};
};
NS_NETSDK_CFG_END

+ 21
- 0
Include/Json_Header/PowerSocket_AutoUsb.h View File

@@ -0,0 +1,21 @@
#pragma once
#include "JObject_NetSDK.h"
#include "PowerSocketAutoUsbItem.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_AutoUsb "PowerSocket.AutoUsb"
class PowerSocket_AutoUsb : public JObject
{
public:
JObjArray<PowerSocketAutoUsbItem> AutoUsb;
public:
PowerSocket_AutoUsb(JObject *pParent = NULL, const char *szName = JK_PowerSocket_AutoUsb):
JObject(pParent,szName),
AutoUsb(this, ""){
};
~PowerSocket_AutoUsb(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/PowerSocket_BanLed.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_BanLed "PowerSocket.BanLed"
class PowerSocket_BanLed : public JObject
{
public:
JIntObj Banstatus;
public:
PowerSocket_BanLed(JObject *pParent = NULL, const char *szName = JK_PowerSocket_BanLed):
JObject(pParent,szName),
Banstatus(this, "Banstatus"){
};
~PowerSocket_BanLed(void){};
};
NS_NETSDK_CFG_END

+ 26
- 0
Include/Json_Header/PowerSocket_DelaySwitch.h View File

@@ -0,0 +1,26 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_DelaySwitch "PowerSocket.DelaySwitch"
class PowerSocket_DelaySwitch : public JObject
{
public:
JIntObj PeriodOn;
JIntObj PeriodOff;
JIntObj Mode;
JIntObj Enable;
public:
PowerSocket_DelaySwitch(JObject *pParent = NULL, const char *szName = JK_PowerSocket_DelaySwitch):
JObject(pParent,szName),
PeriodOn(this, "PeriodOn"),
PeriodOff(this, "PeriodOff"),
Mode(this, "Mode"),
Enable(this, "Enable"){
};
~PowerSocket_DelaySwitch(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/PowerSocket_Image.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_Image "PowerSocket.Image"
class PowerSocket_Image : public JObject
{
public:
JIntObj flip;
public:
PowerSocket_Image(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Image):
JObject(pParent,szName),
flip(this, "flip"){
};
~PowerSocket_Image(void){};
};
NS_NETSDK_CFG_END

+ 20
- 0
Include/Json_Header/PowerSocket_Sensitive.h View File

@@ -0,0 +1,20 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_Sensitive "PowerSocket.Sensitive"
class PowerSocket_Sensitive : public JObject
{
public:
JIntObj Sensitive;
public:
PowerSocket_Sensitive(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Sensitive):
JObject(pParent,szName),
Sensitive(this, "Sensitive"){
};
~PowerSocket_Sensitive(void){};
};
NS_NETSDK_CFG_END

+ 34
- 0
Include/Json_Header/PowerSocket_WorkRecord.h View File

@@ -0,0 +1,34 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PowerSocket_WorkRecord "PowerSocket.WorkRecord"
class PowerSocket_WorkRecord : public JObject
{
public:
JIntObj TotalEnergy;
JIntObj TotalTime;
JIntObj EnergyOfThisMon;
JIntObj TimeOfThisMon;
JIntObj EnergyRecently;
JIntObj TimeRecently;
JIntObj DeviceType;
JIntObj DevicePower;
public:
PowerSocket_WorkRecord(JObject *pParent = NULL, const char *szName = JK_PowerSocket_WorkRecord):
JObject(pParent,szName),
TotalEnergy(this, "TotalEnergy"),
TotalTime(this, "TotalTime"),
EnergyOfThisMon(this, "EnergyOfThisMon"),
TimeOfThisMon(this, "TimeOfThisMon"),
EnergyRecently(this, "EnergyRecently"),
TimeRecently(this, "TimeRecently"),
DeviceType(this, "DeviceType"),
DevicePower(this, "DevicePower"){
};
~PowerSocket_WorkRecord(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/PreviewFunction.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_PreviewFunction "PreviewFunction"
class PreviewFunction : public JObject
{
public:
JBoolObj GUISet;
JBoolObj Tour;
public:
PreviewFunction(JObject *pParent = NULL, const char *szName = JK_PreviewFunction):
JObject(pParent,szName),
GUISet(this, "GUISet"),
Tour(this, "Tour"){
};
~PreviewFunction(void){};
};
NS_NETSDK_CFG_END

+ 37
- 0
Include/Json_Header/RecordCfg.h View File

@@ -0,0 +1,37 @@
#pragma once
#include "JsonCfgBase.h"
NS_NETSDK_CFG_BEGIN
/////////////////////////录像模式字符串及其注释//////////////////////
#define RECORD_MODE_CLOSED "ClosedRecord" ///< 关闭录像
#define RECORD_MODE_MANUAL "ManualRecord" ///< 手动录像
#define RECORD_MODE_CONFIG "ConfigRecord" ///< 按配置录像
#define JK_Record "Record"
class RecordCfg : public JObject
{
public:
JObjArray<JObjArray<JIntHex> > Mask; ///< 录像类型掩码
JIntObj PacketLength; ///< 录像打包长度(分钟)[1, 255]
JIntObj PreRecord; ///< 预录时间,为零时表示关闭
JStrObj RecordMode; ///< 录像模式
JBoolObj Redundancy; ///< 冗余开关
JObjArray<JObjArray<JStrObj> > TimeSection; ///< 录像时间段
public:
RecordCfg(JObject *pParent = NULL, const char *szName = JK_Record):
JObject(pParent,szName),
Mask(this, "Mask"),
PacketLength(this, "PacketLength"),
PreRecord(this, "PreRecord"),
RecordMode(this, "RecordMode"),
Redundancy(this, "Redundancy"),
TimeSection(this, "TimeSection"){
};
~RecordCfg(void){};
};
NS_NETSDK_CFG_END

+ 21
- 0
Include/Json_Header/SensorHXGetLightLux.h View File

@@ -0,0 +1,21 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_SensorHXGetLightLux "SensorHXGetLightLux"
class SensorHXGetLightLux : public JObject
{
public:
JIntObj Channel;
public:
SensorHXGetLightLux(JObject *pParent = NULL, const char *szName = JK_SensorHXGetLightLux):
JObject(pParent,szName),
Channel(this, "Channel"){
this->Parse("{\"Name\" : \"SensorHXGetLightLux\",\"SensorHXGetLightLux\" : {\"Channel\" :0}}");
};
~SensorHXGetLightLux(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/SensorHXGetLightLuxEx.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_SensorHXGetLightLuxEx "SensorHXGetLightLux"
class SensorHXGetLightLuxEx : public JObject
{
public:
JIntObj Channel;
JStrObj Info;
public:
SensorHXGetLightLuxEx(JObject *pParent = NULL, const char *szName = JK_SensorHXGetLightLuxEx):
JObject(pParent,szName),
Channel(this, "Channel"),
Info(this, "Info"){
};
~SensorHXGetLightLuxEx(void){};
};
NS_NETSDK_CFG_END

+ 21
- 0
Include/Json_Header/SensorHXGetTempWet.h View File

@@ -0,0 +1,21 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_SensorHXGetTempWet "SensorHXGetTempWet"
class SensorHXGetTempWet : public JObject
{
public:
JIntObj Channel;
public:
SensorHXGetTempWet(JObject *pParent = NULL, const char *szName = JK_SensorHXGetTempWet):
JObject(pParent,szName),
Channel(this, "Channel"){
this->Parse("{\"Name\" : \"SensorHXGetTempWet\",\"SensorHXGetTempWet\" : {\"Channel\" :0}}");
};
~SensorHXGetTempWet(void){};
};
NS_NETSDK_CFG_END

+ 22
- 0
Include/Json_Header/SensorHXGetTempWetEx.h View File

@@ -0,0 +1,22 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_SensorHXGetTempWetEx "SensorHXGetTempWet"
class SensorHXGetTempWetEx : public JObject
{
public:
JIntObj Channel;
JStrObj Info;
public:
SensorHXGetTempWetEx(JObject *pParent = NULL, const char *szName = JK_SensorHXGetTempWetEx):
JObject(pParent,szName),
Channel(this, "Channel"),
Info(this, "Info"){
};
~SensorHXGetTempWetEx(void){};
};
NS_NETSDK_CFG_END

+ 21
- 0
Include/Json_Header/SensorHXManualWakeUp.h View File

@@ -0,0 +1,21 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_SensorHXManualWakeUp "SensorHXManualWakeUp"
class SensorHXManualWakeUp : public JObject
{
public:
JIntObj Channel;
public:
SensorHXManualWakeUp(JObject *pParent = NULL, const char *szName = JK_SensorHXManualWakeUp):
JObject(pParent,szName),
Channel(this, "Channel"){
this->Parse("{\"Name\" : \"SensorHXManualWakeUp\",\"SensorHXManualWakeUp\" : {\"Channel\" :0}}");
};
~SensorHXManualWakeUp(void){};
};
NS_NETSDK_CFG_END

+ 23
- 0
Include/Json_Header/SensorHXSetMicMode.h View File

@@ -0,0 +1,23 @@
#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN
#define JK_SensorHXSetMicMode "SensorHXSetMicMode"
class SensorHXSetMicMode : public JObject
{
public:
JIntObj Channel;
JStrObj Mode;
public:
SensorHXSetMicMode(JObject *pParent = NULL, const char *szName = JK_SensorHXSetMicMode):
JObject(pParent,szName),
Channel(this, "Channel"),
Mode(this, "Mode"){
this->Parse("{\"Name\" : \"SensorHXSetMicMode\",\"SensorHXSetMicMode\" : {\"Channel\" :0,\"Mode\" : \"VoiceWakeUp\"}}");
};
~SensorHXSetMicMode(void){};
};
NS_NETSDK_CFG_END

+ 24
- 0
Include/Json_Header/Simplify_Encode.h View File

@@ -0,0 +1,24 @@
#pragma once
#include "JObject_NetSDK.h"
#include "ExtraFormat.h"
#include "MainFormat.h"
NS_NETSDK_CFG_BEGIN
#define JK_Simplify_Encode "Simplify.Encode"
class Simplify_Encode : public JObject
{
public:
ExtraFormat mExtraFormat; ///Ö÷ÂëÁ÷
MainFormat mMainFormat; ///¸¨ÂëÁ÷
public:
Simplify_Encode(JObject *pParent = NULL, const char *szName = JK_Simplify_Encode):
JObject(pParent,szName),
mExtraFormat(this, "ExtraFormat"),
mMainFormat(this, "MainFormat"){
};
~Simplify_Encode(void){};
};
NS_NETSDK_CFG_END

+ 19
- 0
Include/Json_Header/Status_NatInfo.h View File

@@ -0,0 +1,19 @@
#pragma once
#include "JsonCfgBase.h"
#define JK_Status_NatInfo "Status.NatInfo"
class Status_NatInfo : public JObject //网络状态头文件
{
public:
JStrObj NaInfoCode;
JStrObj NatStatus;
public:
Status_NatInfo(JObject *pParent = NULL, const char *szName = JK_Status_NatInfo):
JObject(pParent,szName),
NaInfoCode(this, "NaInfoCode"),
NatStatus(this, "NatStatus"){
};
~Status_NatInfo(void){};
};

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save