package isapi import ( "encoding/xml" ) // DeviceCap 获取系统能力 type DeviceCap struct { XMLName xml.Name `xml:"DeviceCap"` Text string `xml:",chardata"` Version string `xml:"version,attr"` Xmlns string `xml:"xmlns,attr"` SysCap struct { IsSupportDst string `xml:"isSupportDst"` NetworkCap struct { IsSupportWireless string `xml:"isSupportWireless"` IsSupportPPPoE string `xml:"isSupportPPPoE"` IsSupportBond string `xml:"isSupportBond"` IsSupport8021x string `xml:"isSupport802_1x"` IsSupportNtp string `xml:"isSupportNtp"` IsSupportFtp string `xml:"isSupportFtp"` IsSupportUpnp string `xml:"isSupportUpnp"` IsSupportDdns string `xml:"isSupportDdns"` IsSupportHttps string `xml:"isSupportHttps"` SnmpCap struct { IsSupport string `xml:"isSupport"` } `xml:"SnmpCap"` IsSupportExtNetCfg string `xml:"isSupportExtNetCfg"` IsSupportIPFilter string `xml:"isSupportIPFilter"` IsSupportEZVIZ string `xml:"isSupportEZVIZ"` IsSupportEhome string `xml:"isSupportEhome"` IsSupportWirelessDial string `xml:"isSupportWirelessDial"` IsSupportWirelessServer string `xml:"isSupportWirelessServer"` IsSupportWPS string `xml:"isSupportWPS"` IsWirelessMutexWithWirelessServer string `xml:"isWirelessMutexWithWirelessServer"` IsSupportMACFilter string `xml:"isSupportMACFilter"` IsSupportRFIDData string `xml:"isSupportRFIDData"` IsSupportwifiProbeSSID string `xml:"isSupportwifiProbeSSID"` IsSupportWifiProbe string `xml:"isSupportWifiProbe"` VerificationCode struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` } `xml:"verificationCode"` VerificationCodeModification struct { VerificationCodeType struct { Opt string `xml:"opt,attr"` } `xml:"verificationCodeType"` IsSupportDeclarationURL string `xml:"isSupportDeclarationURL"` IsSupportPrivacyPolicyURL string `xml:"isSupportPrivacyPolicyURL"` VerificationCodeModify struct { Opt string `xml:"opt,attr"` } `xml:"verificationCodeModify"` } `xml:"VerificationCodeModification"` IsSupportIntegrate string `xml:"isSupportIntegrate"` IsSupportPlatformAccess string `xml:"isSupportPlatformAccess"` IsSupportGetLinkSocketIP string `xml:"isSupportGetLinkSocketIP"` IsSupportWebSocket string `xml:"isSupportWebSocket"` IsSupportWebSocketS string `xml:"isSupportWebSocketS"` IsSupportVideoImgDB string `xml:"isSupportVideoImgDB"` IsSupportDynamicHostName string `xml:"isSupportDynamicHostName"` IsSupportEmailEncrypt string `xml:"isSupportEmailEncrypt"` IsSupportEZVIZUnbind string `xml:"isSupportEZVIZUnbind"` } `xml:"NetworkCap"` IOCap struct { IsSupportStrobeLamp string `xml:"isSupportStrobeLamp"` } `xml:"IOCap"` SerialCap struct { Rs485PortNums string `xml:"rs485PortNums"` SupportRS232Config string `xml:"supportRS232Config"` Rs422PortNums string `xml:"rs422PortNums"` Rs232PortNums string `xml:"rs232PortNums"` } `xml:"SerialCap"` VideoCap struct { VideoInputPortNums string `xml:"videoInputPortNums"` VideoOutputPortNums string `xml:"videoOutputPortNums"` IsSupportHeatmap string `xml:"isSupportHeatmap"` IsSupportCounting string `xml:"isSupportCounting"` IsSupportPicture string `xml:"isSupportPicture"` IsSupportPrivacyMask string `xml:"isSupportPrivacyMask"` IsSupportBinocularPreviewSwitch string `xml:"isSupportBinocularPreviewSwitch"` IsSupportCalibCheck string `xml:"isSupportCalibCheck"` IsSupportPIP string `xml:"isSupportPIP"` IsSupportVideoOutputMode string `xml:"isSupportVideoOutputMode"` } `xml:"VideoCap"` AudioCap struct { AudioInputNums string `xml:"audioInputNums"` AudioOutputNums string `xml:"audioOutputNums"` } `xml:"AudioCap"` IsSupportExternalDevice string `xml:"isSupportExternalDevice"` IsSupportSubscribeEvent string `xml:"isSupportSubscribeEvent"` IsSupportDiagnosedData string `xml:"isSupportDiagnosedData"` IsSupportMetadata string `xml:"isSupportMetadata"` } `xml:"SysCap"` VoicetalkNums string `xml:"voicetalkNums"` IsSupportSnapshot string `xml:"isSupportSnapshot"` SecurityCap struct { SupportUserNums string `xml:"supportUserNums"` UserBondIpNums string `xml:"userBondIpNums"` UserBondMacNums string `xml:"userBondMacNums"` IsSupCertificate string `xml:"isSupCertificate"` IssupIllegalLoginLock string `xml:"issupIllegalLoginLock"` IsSupportOnlineUser string `xml:"isSupportOnlineUser"` IsSupportAnonymous string `xml:"isSupportAnonymous"` IsSupportStreamEncryption string `xml:"isSupportStreamEncryption"` SecurityVersion struct { Opt string `xml:"opt,attr"` } `xml:"securityVersion"` KeyIterateNum string `xml:"keyIterateNum"` IsSupportUserCheck string `xml:"isSupportUserCheck"` IsSupportSecurityQuestionConfig string `xml:"isSupportSecurityQuestionConfig"` SupportSecurityNode struct { Opt string `xml:"opt,attr"` } `xml:"supportSecurityNode"` SecurityLimits struct { LoginPasswordLenLimit struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` } `xml:"LoginPasswordLenLimit"` SecurityAnswerLenLimit struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` } `xml:"SecurityAnswerLenLimit"` } `xml:"SecurityLimits"` RSAKeyLength struct { Opt string `xml:"opt,attr"` Def string `xml:"def,attr"` } `xml:"RSAKeyLength"` IsSupportONVIFUserManagement string `xml:"isSupportONVIFUserManagement"` IsSupportGB35114Certificate string `xml:"isSupportGB35114Certificate"` IsSupportSIPCertificatesManagement string `xml:"isSupportSIPCertificatesManagement"` WebCertificateCap struct { CertificateType struct { Opt string `xml:"opt,attr"` } `xml:"CertificateType"` SecurityAlgorithm struct { AlgorithmType struct { Opt string `xml:"opt,attr"` } `xml:"algorithmType"` } `xml:"SecurityAlgorithm"` } `xml:"WebCertificateCap"` IsSupportConfigFileImport string `xml:"isSupportConfigFileImport"` IsSupportConfigFileExport string `xml:"isSupportConfigFileExport"` CfgFileSecretKeyLenLimit struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` } `xml:"cfgFileSecretKeyLenLimit"` IsIrreversible string `xml:"isIrreversible"` Salt string `xml:"salt"` IsSupportOnvifInfo string `xml:"isSupportOnvifInfo"` IsSupportDeviceCertificatesManagement string `xml:"isSupportDeviceCertificatesManagement"` IsSupportDeviceSelfSignCertExport string `xml:"isSupportDeviceSelfSignCertExport"` IsSupportSecurityEmail string `xml:"isSupportSecurityEmail"` MaxIllegalLoginTimes struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` Def string `xml:"def,attr"` } `xml:"maxIllegalLoginTimes"` SecurityAdvanced struct { NoOperationEnabled string `xml:"noOperationEnabled"` NoOperationTime struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` Def string `xml:"def,attr"` } `xml:"noOperationTime"` } `xml:"SecurityAdvanced"` LoginLinkNum struct { MaxLinkNum struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` Def string `xml:"def,attr"` } `xml:"maxLinkNum"` } `xml:"LoginLinkNum"` IsSupportCertificateCustomID string `xml:"isSupportCertificateCustomID"` IsSupportEncryptCertificate string `xml:"isSupportEncryptCertificate"` MaxIllegalLoginLockTime struct { Min string `xml:"min,attr"` Max string `xml:"max,attr"` Def string `xml:"def,attr"` } `xml:"maxIllegalLoginLockTime"` IsSupportSoftwareLicense string `xml:"isSupportSoftwareLicense"` } `xml:"SecurityCap"` EventCap struct { IsSupportHDFull string `xml:"isSupportHDFull"` IsSupportHDError string `xml:"isSupportHDError"` IsSupportNicBroken string `xml:"isSupportNicBroken"` IsSupportIpConflict string `xml:"isSupportIpConflict"` IsSupportIllAccess string `xml:"isSupportIllAccess"` IsSupportViException string `xml:"isSupportViException"` IsSupportViMismatch string `xml:"isSupportViMismatch"` IsSupportRecordException string `xml:"isSupportRecordException"` IsSupportTriggerFocus string `xml:"isSupportTriggerFocus"` IsSupportMotionDetection string `xml:"isSupportMotionDetection"` IsSupportVideoLoss string `xml:"isSupportVideoLoss"` IsSupportTamperDetection string `xml:"isSupportTamperDetection"` IsSupportStudentsStoodUp string `xml:"isSupportStudentsStoodUp"` IsSupportFramesPeopleCounting string `xml:"isSupportFramesPeopleCounting"` IsSupportPersonQueueDetection string `xml:"isSupportPersonQueueDetection"` IsSupportFaceContrast string `xml:"isSupportFaceContrast"` IsSupportFaceLib string `xml:"isSupportFaceLib"` IsSupportFaceSnap string `xml:"isSupportFaceSnap"` IsSupportPersonDensityDetection string `xml:"isSupportPersonDensityDetection"` IsSupportTeacherBehaviorDetect string `xml:"isSupportTeacherBehaviorDetect"` IsSupportCityManagement string `xml:"isSupportCityManagement"` IsSupportMixedTargetDetection string `xml:"isSupportMixedTargetDetection"` IsSupportFaceSnapModeling string `xml:"isSupportFaceSnapModeling"` IsSupportIntersectionAnalysis string `xml:"isSupportIntersectionAnalysis"` IsSupportLuma string `xml:"isSupportLuma"` IsSupportChroma string `xml:"isSupportChroma"` IsSupportSnow string `xml:"isSupportSnow"` IsSupportStreak string `xml:"isSupportStreak"` IsSupportFreeze string `xml:"isSupportFreeze"` IsSupportSigLose string `xml:"isSupportSigLose"` IsSupportClarity string `xml:"isSupportClarity"` IsSupportJitter string `xml:"isSupportJitter"` IsSupportBlock string `xml:"isSupportBlock"` IsSupportFlowers string `xml:"isSupportFlowers"` IsSupportNoise string `xml:"isSupportNoise"` IsSupportGhost string `xml:"isSupportGhost"` IsSupportPurple string `xml:"isSupportPurple"` IsSupportICR string `xml:"isSupportICR"` IsSupportProtectiveFilm string `xml:"isSupportProtectiveFilm"` } `xml:"EventCap"` RacmCap struct { NasNums string `xml:"nasNums"` PictureSearchType struct { Opt string `xml:"opt,attr"` } `xml:"pictureSearchType"` RecordSearchType struct { Opt string `xml:"opt,attr"` } `xml:"recordSearchType"` SecurityLog struct { IsSupportSecurityLog string `xml:"isSupportSecurityLog"` IsSupportLogServer string `xml:"isSupportLogServer"` IsSupportLogServerTest string `xml:"isSupportLogServerTest"` SecurityLogTypeList struct { SecurityLogType []struct { PrimaryType string `xml:"primaryType"` SecondaryType struct { Opt string `xml:"opt,attr"` } `xml:"secondaryType"` } `xml:"SecurityLogType"` } `xml:"SecurityLogTypeList"` } `xml:"SecurityLog"` IsSupportRacmChannelsCap struct { Opt string `xml:"opt,attr"` } `xml:"isSupportRacmChannelsCap"` } `xml:"RacmCap"` SmartCap struct { IsSupportROI string `xml:"isSupportROI"` IsSupportAudioDetection string `xml:"isSupportAudioDetection"` IsSupportFaceDetect string `xml:"isSupportFaceDetect"` IsSupportLineDetection string `xml:"isSupportLineDetection"` IsSupportFieldDetection string `xml:"isSupportFieldDetection"` IsSupportRegionEntrance string `xml:"isSupportRegionEntrance"` IsSupportRegionExiting string `xml:"isSupportRegionExiting"` IsSupportLoitering string `xml:"isSupportLoitering"` IsSupportGroup string `xml:"isSupportGroup"` IsSupportRapidMove string `xml:"isSupportRapidMove"` IsSupportParking string `xml:"isSupportParking"` IsSupportUnattendedBaggage string `xml:"isSupportUnattendedBaggage"` IsSupportAttendedBaggage string `xml:"isSupportAttendedBaggage"` IsSupportSmartCalibration string `xml:"isSupportSmartCalibration"` IsSupportIntelliTrace string `xml:"isSupportIntelliTrace"` IsSupportPeopleDetection string `xml:"isSupportPeopleDetection"` IsSupportDefocusDetection string `xml:"isSupportDefocusDetection"` IsSupportSceneChangeDetection string `xml:"isSupportSceneChangeDetection"` IsSupportStorageDetection string `xml:"isSupportStorageDetection"` IsSupportChannelResource string `xml:"isSupportChannelResource"` } `xml:"SmartCap"` WLAlarmCap struct { IsSupportTeleControl string `xml:"isSupportTeleControl"` IsSupportPIR string `xml:"isSupportPIR"` IsSupportWLSensors string `xml:"isSupportWLSensors"` IsSupportCallHelp string `xml:"isSupportCallHelp"` WLSensorsNum string `xml:"WLSensorsNum"` } `xml:"WLAlarmCap"` IsSupportGIS string `xml:"isSupportGIS"` IsSupportCompass string `xml:"isSupportCompass"` IsSupportRoadInfoOverlays string `xml:"isSupportRoadInfoOverlays"` TestCap struct { IsSupportFTPTest string `xml:"isSupportFTPTest"` IsSupportPingTest string `xml:"isSupportPingTest"` IsSupportNTPTest string `xml:"isSupportNTPTest"` IsSupportNASTest string `xml:"isSupportNASTest"` IsSupportEmailTest string `xml:"isSupportEmailTest"` } `xml:"TestCap"` PanoramaCap struct { IsSupportGeneratePanorama string `xml:"isSupportGeneratePanorama"` IsSupportPanoramaPosition3D string `xml:"isSupportPanoramaPosition3D"` IsSupportPreset string `xml:"isSupportPreset"` } `xml:"PanoramaCap"` IsSupportFaceCaptureStatistics string `xml:"isSupportFaceCaptureStatistics"` IsSupportElectronicsEnlarge string `xml:"isSupportElectronicsEnlarge"` IsSupportTraffic string `xml:"isSupportTraffic"` IsSupportFirmwareVersionInfo string `xml:"isSupportFirmwareVersionInfo"` IsSupportLaserSpotManual string `xml:"isSupportLaserSpotManual"` IsSupportSetupCalibration string `xml:"isSupportSetupCalibration"` IsSupportPicInfoOverlap string `xml:"isSupportPicInfoOverlap"` IsOnlySupportAnalogChannel string `xml:"isOnlySupportAnalogChannel"` IsSupportChannelEventCap string `xml:"isSupportChannelEventCap"` IsSupportChannelEventListCap string `xml:"isSupportChannelEventListCap"` VCAResourceChannelsCap struct { ChannelsList struct { ChannelsID string `xml:"channelsID"` } `xml:"ChannelsList"` } `xml:"VCAResourceChannelsCap"` SupportSnapshotChannel struct { Opt string `xml:"opt,attr"` } `xml:"supportSnapshotChannel"` IsSupportGPSCalibratation string `xml:"isSupportGPSCalibratation"` IsSupportGPSLabelTracking string `xml:"isSupportGPSLabelTracking"` IsSupportCalibrationStream string `xml:"isSupportCalibrationStream"` IsSupportActiveMulticast string `xml:"isSupportActiveMulticast"` IsSupportChannelFullEventCap string `xml:"isSupportChannelFullEventCap"` IsSupportAUXInfoCap string `xml:"isSupportAUXInfoCap"` IsSupportVehicleMonitor string `xml:"isSupportVehicleMonitor"` IsSupportManualVehicleMonitor string `xml:"isSupportManualVehicleMonitor"` IsSupportSnapshotAsync string `xml:"isSupportSnapshotAsync"` IsSupportAutoMaintenance string `xml:"isSupportAutoMaintenance"` IsSupportSIMCardStatus string `xml:"isSupportSIMCardStatus"` IsSupportISUPHttpPassthrough string `xml:"isSupportISUPHttpPassthrough"` IsSupportTOFShelterAlarm string `xml:"isSupportTOFShelterAlarm"` IsSupportT1Test string `xml:"isSupportT1Test"` } func (c *Client) GetSystemCap() ([]byte, error) { return c.CommonGet("/ISAPI/System/capabilities") }