|
|
@@ -0,0 +1,328 @@
|
|
|
+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")
|
|
|
+}
|