isapi_system_deviceCap.go 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. package isapi
  2. import (
  3. "encoding/xml"
  4. )
  5. // DeviceCap 获取系统能力
  6. type DeviceCap struct {
  7. XMLName xml.Name `xml:"DeviceCap"`
  8. Text string `xml:",chardata"`
  9. Version string `xml:"version,attr"`
  10. Xmlns string `xml:"xmlns,attr"`
  11. SysCap struct {
  12. IsSupportDst string `xml:"isSupportDst"`
  13. NetworkCap struct {
  14. IsSupportWireless string `xml:"isSupportWireless"`
  15. IsSupportPPPoE string `xml:"isSupportPPPoE"`
  16. IsSupportBond string `xml:"isSupportBond"`
  17. IsSupport8021x string `xml:"isSupport802_1x"`
  18. IsSupportNtp string `xml:"isSupportNtp"`
  19. IsSupportFtp string `xml:"isSupportFtp"`
  20. IsSupportUpnp string `xml:"isSupportUpnp"`
  21. IsSupportDdns string `xml:"isSupportDdns"`
  22. IsSupportHttps string `xml:"isSupportHttps"`
  23. SnmpCap struct {
  24. IsSupport string `xml:"isSupport"`
  25. } `xml:"SnmpCap"`
  26. IsSupportExtNetCfg string `xml:"isSupportExtNetCfg"`
  27. IsSupportIPFilter string `xml:"isSupportIPFilter"`
  28. IsSupportEZVIZ string `xml:"isSupportEZVIZ"`
  29. IsSupportEhome string `xml:"isSupportEhome"`
  30. IsSupportWirelessDial string `xml:"isSupportWirelessDial"`
  31. IsSupportWirelessServer string `xml:"isSupportWirelessServer"`
  32. IsSupportWPS string `xml:"isSupportWPS"`
  33. IsWirelessMutexWithWirelessServer string `xml:"isWirelessMutexWithWirelessServer"`
  34. IsSupportMACFilter string `xml:"isSupportMACFilter"`
  35. IsSupportRFIDData string `xml:"isSupportRFIDData"`
  36. IsSupportwifiProbeSSID string `xml:"isSupportwifiProbeSSID"`
  37. IsSupportWifiProbe string `xml:"isSupportWifiProbe"`
  38. VerificationCode struct {
  39. Min string `xml:"min,attr"`
  40. Max string `xml:"max,attr"`
  41. } `xml:"verificationCode"`
  42. VerificationCodeModification struct {
  43. VerificationCodeType struct {
  44. Opt string `xml:"opt,attr"`
  45. } `xml:"verificationCodeType"`
  46. IsSupportDeclarationURL string `xml:"isSupportDeclarationURL"`
  47. IsSupportPrivacyPolicyURL string `xml:"isSupportPrivacyPolicyURL"`
  48. VerificationCodeModify struct {
  49. Opt string `xml:"opt,attr"`
  50. } `xml:"verificationCodeModify"`
  51. } `xml:"VerificationCodeModification"`
  52. IsSupportIntegrate string `xml:"isSupportIntegrate"`
  53. IsSupportPlatformAccess string `xml:"isSupportPlatformAccess"`
  54. IsSupportGetLinkSocketIP string `xml:"isSupportGetLinkSocketIP"`
  55. IsSupportWebSocket string `xml:"isSupportWebSocket"`
  56. IsSupportWebSocketS string `xml:"isSupportWebSocketS"`
  57. IsSupportVideoImgDB string `xml:"isSupportVideoImgDB"`
  58. IsSupportDynamicHostName string `xml:"isSupportDynamicHostName"`
  59. IsSupportEmailEncrypt string `xml:"isSupportEmailEncrypt"`
  60. IsSupportEZVIZUnbind string `xml:"isSupportEZVIZUnbind"`
  61. } `xml:"NetworkCap"`
  62. IOCap struct {
  63. IsSupportStrobeLamp string `xml:"isSupportStrobeLamp"`
  64. } `xml:"IOCap"`
  65. SerialCap struct {
  66. Rs485PortNums string `xml:"rs485PortNums"`
  67. SupportRS232Config string `xml:"supportRS232Config"`
  68. Rs422PortNums string `xml:"rs422PortNums"`
  69. Rs232PortNums string `xml:"rs232PortNums"`
  70. } `xml:"SerialCap"`
  71. VideoCap struct {
  72. VideoInputPortNums string `xml:"videoInputPortNums"`
  73. VideoOutputPortNums string `xml:"videoOutputPortNums"`
  74. IsSupportHeatmap string `xml:"isSupportHeatmap"`
  75. IsSupportCounting string `xml:"isSupportCounting"`
  76. IsSupportPicture string `xml:"isSupportPicture"`
  77. IsSupportPrivacyMask string `xml:"isSupportPrivacyMask"`
  78. IsSupportBinocularPreviewSwitch string `xml:"isSupportBinocularPreviewSwitch"`
  79. IsSupportCalibCheck string `xml:"isSupportCalibCheck"`
  80. IsSupportPIP string `xml:"isSupportPIP"`
  81. IsSupportVideoOutputMode string `xml:"isSupportVideoOutputMode"`
  82. } `xml:"VideoCap"`
  83. AudioCap struct {
  84. AudioInputNums string `xml:"audioInputNums"`
  85. AudioOutputNums string `xml:"audioOutputNums"`
  86. } `xml:"AudioCap"`
  87. IsSupportExternalDevice string `xml:"isSupportExternalDevice"`
  88. IsSupportSubscribeEvent string `xml:"isSupportSubscribeEvent"`
  89. IsSupportDiagnosedData string `xml:"isSupportDiagnosedData"`
  90. IsSupportMetadata string `xml:"isSupportMetadata"`
  91. } `xml:"SysCap"`
  92. VoicetalkNums string `xml:"voicetalkNums"`
  93. IsSupportSnapshot string `xml:"isSupportSnapshot"`
  94. SecurityCap struct {
  95. SupportUserNums string `xml:"supportUserNums"`
  96. UserBondIpNums string `xml:"userBondIpNums"`
  97. UserBondMacNums string `xml:"userBondMacNums"`
  98. IsSupCertificate string `xml:"isSupCertificate"`
  99. IssupIllegalLoginLock string `xml:"issupIllegalLoginLock"`
  100. IsSupportOnlineUser string `xml:"isSupportOnlineUser"`
  101. IsSupportAnonymous string `xml:"isSupportAnonymous"`
  102. IsSupportStreamEncryption string `xml:"isSupportStreamEncryption"`
  103. SecurityVersion struct {
  104. Opt string `xml:"opt,attr"`
  105. } `xml:"securityVersion"`
  106. KeyIterateNum string `xml:"keyIterateNum"`
  107. IsSupportUserCheck string `xml:"isSupportUserCheck"`
  108. IsSupportSecurityQuestionConfig string `xml:"isSupportSecurityQuestionConfig"`
  109. SupportSecurityNode struct {
  110. Opt string `xml:"opt,attr"`
  111. } `xml:"supportSecurityNode"`
  112. SecurityLimits struct {
  113. LoginPasswordLenLimit struct {
  114. Min string `xml:"min,attr"`
  115. Max string `xml:"max,attr"`
  116. } `xml:"LoginPasswordLenLimit"`
  117. SecurityAnswerLenLimit struct {
  118. Min string `xml:"min,attr"`
  119. Max string `xml:"max,attr"`
  120. } `xml:"SecurityAnswerLenLimit"`
  121. } `xml:"SecurityLimits"`
  122. RSAKeyLength struct {
  123. Opt string `xml:"opt,attr"`
  124. Def string `xml:"def,attr"`
  125. } `xml:"RSAKeyLength"`
  126. IsSupportONVIFUserManagement string `xml:"isSupportONVIFUserManagement"`
  127. IsSupportGB35114Certificate string `xml:"isSupportGB35114Certificate"`
  128. IsSupportSIPCertificatesManagement string `xml:"isSupportSIPCertificatesManagement"`
  129. WebCertificateCap struct {
  130. CertificateType struct {
  131. Opt string `xml:"opt,attr"`
  132. } `xml:"CertificateType"`
  133. SecurityAlgorithm struct {
  134. AlgorithmType struct {
  135. Opt string `xml:"opt,attr"`
  136. } `xml:"algorithmType"`
  137. } `xml:"SecurityAlgorithm"`
  138. } `xml:"WebCertificateCap"`
  139. IsSupportConfigFileImport string `xml:"isSupportConfigFileImport"`
  140. IsSupportConfigFileExport string `xml:"isSupportConfigFileExport"`
  141. CfgFileSecretKeyLenLimit struct {
  142. Min string `xml:"min,attr"`
  143. Max string `xml:"max,attr"`
  144. } `xml:"cfgFileSecretKeyLenLimit"`
  145. IsIrreversible string `xml:"isIrreversible"`
  146. Salt string `xml:"salt"`
  147. IsSupportOnvifInfo string `xml:"isSupportOnvifInfo"`
  148. IsSupportDeviceCertificatesManagement string `xml:"isSupportDeviceCertificatesManagement"`
  149. IsSupportDeviceSelfSignCertExport string `xml:"isSupportDeviceSelfSignCertExport"`
  150. IsSupportSecurityEmail string `xml:"isSupportSecurityEmail"`
  151. MaxIllegalLoginTimes struct {
  152. Min string `xml:"min,attr"`
  153. Max string `xml:"max,attr"`
  154. Def string `xml:"def,attr"`
  155. } `xml:"maxIllegalLoginTimes"`
  156. SecurityAdvanced struct {
  157. NoOperationEnabled string `xml:"noOperationEnabled"`
  158. NoOperationTime struct {
  159. Min string `xml:"min,attr"`
  160. Max string `xml:"max,attr"`
  161. Def string `xml:"def,attr"`
  162. } `xml:"noOperationTime"`
  163. } `xml:"SecurityAdvanced"`
  164. LoginLinkNum struct {
  165. MaxLinkNum struct {
  166. Min string `xml:"min,attr"`
  167. Max string `xml:"max,attr"`
  168. Def string `xml:"def,attr"`
  169. } `xml:"maxLinkNum"`
  170. } `xml:"LoginLinkNum"`
  171. IsSupportCertificateCustomID string `xml:"isSupportCertificateCustomID"`
  172. IsSupportEncryptCertificate string `xml:"isSupportEncryptCertificate"`
  173. MaxIllegalLoginLockTime struct {
  174. Min string `xml:"min,attr"`
  175. Max string `xml:"max,attr"`
  176. Def string `xml:"def,attr"`
  177. } `xml:"maxIllegalLoginLockTime"`
  178. IsSupportSoftwareLicense string `xml:"isSupportSoftwareLicense"`
  179. } `xml:"SecurityCap"`
  180. EventCap struct {
  181. IsSupportHDFull string `xml:"isSupportHDFull"`
  182. IsSupportHDError string `xml:"isSupportHDError"`
  183. IsSupportNicBroken string `xml:"isSupportNicBroken"`
  184. IsSupportIpConflict string `xml:"isSupportIpConflict"`
  185. IsSupportIllAccess string `xml:"isSupportIllAccess"`
  186. IsSupportViException string `xml:"isSupportViException"`
  187. IsSupportViMismatch string `xml:"isSupportViMismatch"`
  188. IsSupportRecordException string `xml:"isSupportRecordException"`
  189. IsSupportTriggerFocus string `xml:"isSupportTriggerFocus"`
  190. IsSupportMotionDetection string `xml:"isSupportMotionDetection"`
  191. IsSupportVideoLoss string `xml:"isSupportVideoLoss"`
  192. IsSupportTamperDetection string `xml:"isSupportTamperDetection"`
  193. IsSupportStudentsStoodUp string `xml:"isSupportStudentsStoodUp"`
  194. IsSupportFramesPeopleCounting string `xml:"isSupportFramesPeopleCounting"`
  195. IsSupportPersonQueueDetection string `xml:"isSupportPersonQueueDetection"`
  196. IsSupportFaceContrast string `xml:"isSupportFaceContrast"`
  197. IsSupportFaceLib string `xml:"isSupportFaceLib"`
  198. IsSupportFaceSnap string `xml:"isSupportFaceSnap"`
  199. IsSupportPersonDensityDetection string `xml:"isSupportPersonDensityDetection"`
  200. IsSupportTeacherBehaviorDetect string `xml:"isSupportTeacherBehaviorDetect"`
  201. IsSupportCityManagement string `xml:"isSupportCityManagement"`
  202. IsSupportMixedTargetDetection string `xml:"isSupportMixedTargetDetection"`
  203. IsSupportFaceSnapModeling string `xml:"isSupportFaceSnapModeling"`
  204. IsSupportIntersectionAnalysis string `xml:"isSupportIntersectionAnalysis"`
  205. IsSupportLuma string `xml:"isSupportLuma"`
  206. IsSupportChroma string `xml:"isSupportChroma"`
  207. IsSupportSnow string `xml:"isSupportSnow"`
  208. IsSupportStreak string `xml:"isSupportStreak"`
  209. IsSupportFreeze string `xml:"isSupportFreeze"`
  210. IsSupportSigLose string `xml:"isSupportSigLose"`
  211. IsSupportClarity string `xml:"isSupportClarity"`
  212. IsSupportJitter string `xml:"isSupportJitter"`
  213. IsSupportBlock string `xml:"isSupportBlock"`
  214. IsSupportFlowers string `xml:"isSupportFlowers"`
  215. IsSupportNoise string `xml:"isSupportNoise"`
  216. IsSupportGhost string `xml:"isSupportGhost"`
  217. IsSupportPurple string `xml:"isSupportPurple"`
  218. IsSupportICR string `xml:"isSupportICR"`
  219. IsSupportProtectiveFilm string `xml:"isSupportProtectiveFilm"`
  220. } `xml:"EventCap"`
  221. RacmCap struct {
  222. NasNums string `xml:"nasNums"`
  223. PictureSearchType struct {
  224. Opt string `xml:"opt,attr"`
  225. } `xml:"pictureSearchType"`
  226. RecordSearchType struct {
  227. Opt string `xml:"opt,attr"`
  228. } `xml:"recordSearchType"`
  229. SecurityLog struct {
  230. IsSupportSecurityLog string `xml:"isSupportSecurityLog"`
  231. IsSupportLogServer string `xml:"isSupportLogServer"`
  232. IsSupportLogServerTest string `xml:"isSupportLogServerTest"`
  233. SecurityLogTypeList struct {
  234. SecurityLogType []struct {
  235. PrimaryType string `xml:"primaryType"`
  236. SecondaryType struct {
  237. Opt string `xml:"opt,attr"`
  238. } `xml:"secondaryType"`
  239. } `xml:"SecurityLogType"`
  240. } `xml:"SecurityLogTypeList"`
  241. } `xml:"SecurityLog"`
  242. IsSupportRacmChannelsCap struct {
  243. Opt string `xml:"opt,attr"`
  244. } `xml:"isSupportRacmChannelsCap"`
  245. } `xml:"RacmCap"`
  246. SmartCap struct {
  247. IsSupportROI string `xml:"isSupportROI"`
  248. IsSupportAudioDetection string `xml:"isSupportAudioDetection"`
  249. IsSupportFaceDetect string `xml:"isSupportFaceDetect"`
  250. IsSupportLineDetection string `xml:"isSupportLineDetection"`
  251. IsSupportFieldDetection string `xml:"isSupportFieldDetection"`
  252. IsSupportRegionEntrance string `xml:"isSupportRegionEntrance"`
  253. IsSupportRegionExiting string `xml:"isSupportRegionExiting"`
  254. IsSupportLoitering string `xml:"isSupportLoitering"`
  255. IsSupportGroup string `xml:"isSupportGroup"`
  256. IsSupportRapidMove string `xml:"isSupportRapidMove"`
  257. IsSupportParking string `xml:"isSupportParking"`
  258. IsSupportUnattendedBaggage string `xml:"isSupportUnattendedBaggage"`
  259. IsSupportAttendedBaggage string `xml:"isSupportAttendedBaggage"`
  260. IsSupportSmartCalibration string `xml:"isSupportSmartCalibration"`
  261. IsSupportIntelliTrace string `xml:"isSupportIntelliTrace"`
  262. IsSupportPeopleDetection string `xml:"isSupportPeopleDetection"`
  263. IsSupportDefocusDetection string `xml:"isSupportDefocusDetection"`
  264. IsSupportSceneChangeDetection string `xml:"isSupportSceneChangeDetection"`
  265. IsSupportStorageDetection string `xml:"isSupportStorageDetection"`
  266. IsSupportChannelResource string `xml:"isSupportChannelResource"`
  267. } `xml:"SmartCap"`
  268. WLAlarmCap struct {
  269. IsSupportTeleControl string `xml:"isSupportTeleControl"`
  270. IsSupportPIR string `xml:"isSupportPIR"`
  271. IsSupportWLSensors string `xml:"isSupportWLSensors"`
  272. IsSupportCallHelp string `xml:"isSupportCallHelp"`
  273. WLSensorsNum string `xml:"WLSensorsNum"`
  274. } `xml:"WLAlarmCap"`
  275. IsSupportGIS string `xml:"isSupportGIS"`
  276. IsSupportCompass string `xml:"isSupportCompass"`
  277. IsSupportRoadInfoOverlays string `xml:"isSupportRoadInfoOverlays"`
  278. TestCap struct {
  279. IsSupportFTPTest string `xml:"isSupportFTPTest"`
  280. IsSupportPingTest string `xml:"isSupportPingTest"`
  281. IsSupportNTPTest string `xml:"isSupportNTPTest"`
  282. IsSupportNASTest string `xml:"isSupportNASTest"`
  283. IsSupportEmailTest string `xml:"isSupportEmailTest"`
  284. } `xml:"TestCap"`
  285. PanoramaCap struct {
  286. IsSupportGeneratePanorama string `xml:"isSupportGeneratePanorama"`
  287. IsSupportPanoramaPosition3D string `xml:"isSupportPanoramaPosition3D"`
  288. IsSupportPreset string `xml:"isSupportPreset"`
  289. } `xml:"PanoramaCap"`
  290. IsSupportFaceCaptureStatistics string `xml:"isSupportFaceCaptureStatistics"`
  291. IsSupportElectronicsEnlarge string `xml:"isSupportElectronicsEnlarge"`
  292. IsSupportTraffic string `xml:"isSupportTraffic"`
  293. IsSupportFirmwareVersionInfo string `xml:"isSupportFirmwareVersionInfo"`
  294. IsSupportLaserSpotManual string `xml:"isSupportLaserSpotManual"`
  295. IsSupportSetupCalibration string `xml:"isSupportSetupCalibration"`
  296. IsSupportPicInfoOverlap string `xml:"isSupportPicInfoOverlap"`
  297. IsOnlySupportAnalogChannel string `xml:"isOnlySupportAnalogChannel"`
  298. IsSupportChannelEventCap string `xml:"isSupportChannelEventCap"`
  299. IsSupportChannelEventListCap string `xml:"isSupportChannelEventListCap"`
  300. VCAResourceChannelsCap struct {
  301. ChannelsList struct {
  302. ChannelsID string `xml:"channelsID"`
  303. } `xml:"ChannelsList"`
  304. } `xml:"VCAResourceChannelsCap"`
  305. SupportSnapshotChannel struct {
  306. Opt string `xml:"opt,attr"`
  307. } `xml:"supportSnapshotChannel"`
  308. IsSupportGPSCalibratation string `xml:"isSupportGPSCalibratation"`
  309. IsSupportGPSLabelTracking string `xml:"isSupportGPSLabelTracking"`
  310. IsSupportCalibrationStream string `xml:"isSupportCalibrationStream"`
  311. IsSupportActiveMulticast string `xml:"isSupportActiveMulticast"`
  312. IsSupportChannelFullEventCap string `xml:"isSupportChannelFullEventCap"`
  313. IsSupportAUXInfoCap string `xml:"isSupportAUXInfoCap"`
  314. IsSupportVehicleMonitor string `xml:"isSupportVehicleMonitor"`
  315. IsSupportManualVehicleMonitor string `xml:"isSupportManualVehicleMonitor"`
  316. IsSupportSnapshotAsync string `xml:"isSupportSnapshotAsync"`
  317. IsSupportAutoMaintenance string `xml:"isSupportAutoMaintenance"`
  318. IsSupportSIMCardStatus string `xml:"isSupportSIMCardStatus"`
  319. IsSupportISUPHttpPassthrough string `xml:"isSupportISUPHttpPassthrough"`
  320. IsSupportTOFShelterAlarm string `xml:"isSupportTOFShelterAlarm"`
  321. IsSupportT1Test string `xml:"isSupportT1Test"`
  322. }
  323. func (c *Client) GetSystemCap() ([]byte, error) {
  324. return c.CommonGet("/ISAPI/System/capabilities")
  325. }