goonvif/onvif/device/types.go

885 lines
23 KiB
Go
Raw Permalink Normal View History

2024-10-31 18:22:47 +08:00
package device
import (
"git.pyer.club/kingecg/goonvif/onvif/xsd"
"git.pyer.club/kingecg/goonvif/onvif/xsd/onvif"
)
type Service struct {
Namespace xsd.AnyURI
XAddr xsd.AnyURI
Capabilities
Version onvif.OnvifVersion
}
type Capabilities struct {
Any string
}
type DeviceServiceCapabilities struct {
Network NetworkCapabilities
Security SecurityCapabilities
System SystemCapabilities
Misc MiscCapabilities
}
type NetworkCapabilities struct {
IPFilter xsd.Boolean `xml:"IPFilter,attr"`
ZeroConfiguration xsd.Boolean `xml:"ZeroConfiguration,attr"`
IPVersion6 xsd.Boolean `xml:"IPVersion6,attr"`
DynDNS xsd.Boolean `xml:"DynDNS,attr"`
Dot11Configuration xsd.Boolean `xml:"Dot11Configuration,attr"`
Dot1XConfigurations int `xml:"Dot1XConfigurations,attr"`
HostnameFromDHCP xsd.Boolean `xml:"HostnameFromDHCP,attr"`
NTP int `xml:"NTP,attr"`
DHCPv6 xsd.Boolean `xml:"DHCPv6,attr"`
}
type SecurityCapabilities struct {
TLS1_0 xsd.Boolean `xml:"TLS1_0,attr"`
TLS1_1 xsd.Boolean `xml:"TLS1_1,attr"`
TLS1_2 xsd.Boolean `xml:"TLS1_2,attr"`
OnboardKeyGeneration xsd.Boolean `xml:"OnboardKeyGeneration,attr"`
AccessPolicyConfig xsd.Boolean `xml:"AccessPolicyConfig,attr"`
DefaultAccessPolicy xsd.Boolean `xml:"DefaultAccessPolicy,attr"`
Dot1X xsd.Boolean `xml:"Dot1X,attr"`
RemoteUserHandling xsd.Boolean `xml:"RemoteUserHandling,attr"`
X_509Token xsd.Boolean `xml:"X_509Token,attr"`
SAMLToken xsd.Boolean `xml:"SAMLToken,attr"`
KerberosToken xsd.Boolean `xml:"KerberosToken,attr"`
UsernameToken xsd.Boolean `xml:"UsernameToken,attr"`
HttpDigest xsd.Boolean `xml:"HttpDigest,attr"`
RELToken xsd.Boolean `xml:"RELToken,attr"`
SupportedEAPMethods EAPMethodTypes `xml:"SupportedEAPMethods,attr"`
MaxUsers int `xml:"MaxUsers,attr"`
MaxUserNameLength int `xml:"MaxUserNameLength,attr"`
MaxPasswordLength int `xml:"MaxPasswordLength,attr"`
}
type EAPMethodTypes struct {
Types []int
}
type SystemCapabilities struct {
DiscoveryResolve xsd.Boolean `xml:"DiscoveryResolve,attr"`
DiscoveryBye xsd.Boolean `xml:"DiscoveryBye,attr"`
RemoteDiscovery xsd.Boolean `xml:"RemoteDiscovery,attr"`
SystemBackup xsd.Boolean `xml:"SystemBackup,attr"`
SystemLogging xsd.Boolean `xml:"SystemLogging,attr"`
FirmwareUpgrade xsd.Boolean `xml:"FirmwareUpgrade,attr"`
HttpFirmwareUpgrade xsd.Boolean `xml:"HttpFirmwareUpgrade,attr"`
HttpSystemBackup xsd.Boolean `xml:"HttpSystemBackup,attr"`
HttpSystemLogging xsd.Boolean `xml:"HttpSystemLogging,attr"`
HttpSupportInformation xsd.Boolean `xml:"HttpSupportInformation,attr"`
StorageConfiguration xsd.Boolean `xml:"StorageConfiguration,attr"`
MaxStorageConfigurations int `xml:"MaxStorageConfigurations,attr"`
GeoLocationEntries int `xml:"GeoLocationEntries,attr"`
AutoGeo onvif.StringAttrList `xml:"AutoGeo,attr"`
}
type MiscCapabilities struct {
AuxiliaryCommands onvif.StringAttrList `xml:"AuxiliaryCommands,attr"`
}
type StorageConfiguration struct {
onvif.DeviceEntity
Data StorageConfigurationData `xml:"tds:Data"`
}
type StorageConfigurationData struct {
Type xsd.String `xml:"type,attr"`
LocalPath xsd.AnyURI `xml:"tds:LocalPath"`
StorageUri xsd.AnyURI `xml:"tds:StorageUri"`
User UserCredential `xml:"tds:User"`
Extension xsd.AnyURI `xml:"tds:Extension"`
}
type UserCredential struct {
UserName xsd.String `xml:"tds:UserName"`
Password xsd.String `xml:"tds:Password"`
Extension xsd.AnyType `xml:"tds:Extension"`
}
//Device main types
type GetServices struct {
XMLName string `xml:"tds:GetServices"`
IncludeCapability xsd.Boolean `xml:"tds:IncludeCapability"`
}
type GetServicesResponse struct {
Service Service
}
type GetServiceCapabilities struct {
XMLName string `xml:"tds:GetServiceCapabilities"`
}
type GetServiceCapabilitiesResponse struct {
Capabilities DeviceServiceCapabilities
}
type GetDeviceInformation struct {
XMLName string `xml:"tds:GetDeviceInformation"`
}
type GetDeviceInformationResponse struct {
Manufacturer string
Model string
FirmwareVersion string
SerialNumber string
HardwareId string
}
type SetSystemDateAndTime struct {
XMLName string `xml:"tds:SetSystemDateAndTime"`
DateTimeType onvif.SetDateTimeType `xml:"tds:DateTimeType"`
DaylightSavings xsd.Boolean `xml:"tds:DaylightSavings"`
TimeZone onvif.TimeZone `xml:"tds:TimeZone"`
UTCDateTime onvif.DateTime `xml:"tds:UTCDateTime"`
}
type SetSystemDateAndTimeResponse struct {
}
type GetSystemDateAndTime struct {
XMLName string `xml:"tds:GetSystemDateAndTime"`
}
type GetSystemDateAndTimeResponse struct {
SystemDateAndTime onvif.SystemDateTime
}
type SetSystemFactoryDefault struct {
XMLName string `xml:"tds:SetSystemFactoryDefault"`
FactoryDefault onvif.FactoryDefaultType `xml:"tds:FactoryDefault"`
}
type SetSystemFactoryDefaultResponse struct {
}
type UpgradeSystemFirmware struct {
XMLName string `xml:"tds:UpgradeSystemFirmware"`
Firmware onvif.AttachmentData `xml:"tds:Firmware"`
}
type UpgradeSystemFirmwareResponse struct {
Message string
}
type SystemReboot struct {
XMLName string `xml:"tds:SystemReboot"`
}
type SystemRebootResponse struct {
Message string
}
// TODO: one or more repetitions
type RestoreSystem struct {
XMLName string `xml:"tds:RestoreSystem"`
BackupFiles onvif.BackupFile `xml:"tds:BackupFiles"`
}
type RestoreSystemResponse struct {
}
type GetSystemBackup struct {
XMLName string `xml:"tds:GetSystemBackup"`
}
type GetSystemBackupResponse struct {
BackupFiles onvif.BackupFile
}
type GetSystemLog struct {
XMLName string `xml:"tds:GetSystemLog"`
LogType onvif.SystemLogType `xml:"tds:LogType"`
}
type GetSystemLogResponse struct {
SystemLog onvif.SystemLog
}
type GetSystemSupportInformation struct {
XMLName string `xml:"tds:GetSystemSupportInformation"`
}
type GetSystemSupportInformationResponse struct {
SupportInformation onvif.SupportInformation
}
type GetScopes struct {
XMLName string `xml:"tds:GetScopes"`
}
type GetScopesResponse struct {
Scopes onvif.Scope
}
// TODO: one or more scopes
type SetScopes struct {
XMLName string `xml:"tds:SetScopes"`
Scopes xsd.AnyURI `xml:"tds:Scopes"`
}
type SetScopesResponse struct {
}
// TODO: list of scopes
type AddScopes struct {
XMLName string `xml:"tds:AddScopes"`
ScopeItem xsd.AnyURI `xml:"tds:ScopeItem"`
}
type AddScopesResponse struct {
}
// TODO: One or more repetitions
type RemoveScopes struct {
XMLName string `xml:"tds:RemoveScopes"`
ScopeItem xsd.AnyURI `xml:"onvif:ScopeItem"`
}
type RemoveScopesResponse struct {
ScopeItem xsd.AnyURI
}
type GetDiscoveryMode struct {
XMLName string `xml:"tds:GetDiscoveryMode"`
}
type GetDiscoveryModeResponse struct {
DiscoveryMode onvif.DiscoveryMode
}
type SetDiscoveryMode struct {
XMLName string `xml:"tds:SetDiscoveryMode"`
DiscoveryMode onvif.DiscoveryMode `xml:"tds:DiscoveryMode"`
}
type SetDiscoveryModeResponse struct {
}
type GetRemoteDiscoveryMode struct {
XMLName string `xml:"tds:GetRemoteDiscoveryMode"`
}
type GetRemoteDiscoveryModeResponse struct {
RemoteDiscoveryMode onvif.DiscoveryMode
}
type SetRemoteDiscoveryMode struct {
XMLName string `xml:"tds:SetRemoteDiscoveryMode"`
RemoteDiscoveryMode onvif.DiscoveryMode `xml:"tds:RemoteDiscoveryMode"`
}
type SetRemoteDiscoveryModeResponse struct {
}
type GetDPAddresses struct {
XMLName string `xml:"tds:GetDPAddresses"`
}
type GetDPAddressesResponse struct {
DPAddress onvif.NetworkHost
}
type SetDPAddresses struct {
XMLName string `xml:"tds:SetDPAddresses"`
DPAddress onvif.NetworkHost `xml:"tds:DPAddress"`
}
type SetDPAddressesResponse struct {
}
type GetEndpointReference struct {
XMLName string `xml:"tds:GetEndpointReference"`
}
type GetEndpointReferenceResponse struct {
GUID string
}
type GetRemoteUser struct {
XMLName string `xml:"tds:GetRemoteUser"`
}
type GetRemoteUserResponse struct {
RemoteUser onvif.RemoteUser
}
type SetRemoteUser struct {
XMLName string `xml:"tds:SetRemoteUser"`
RemoteUser onvif.RemoteUser `xml:"tds:RemoteUser"`
}
type SetRemoteUserResponse struct {
}
type GetUsers struct {
XMLName string `xml:"tds:GetUsers"`
}
type GetUsersResponse struct {
User onvif.User
}
// TODO: List of users
type CreateUsers struct {
XMLName string `xml:"tds:CreateUsers"`
User onvif.User `xml:"tds:User,omitempty"`
}
type CreateUsersResponse struct {
}
// TODO: one or more Username
type DeleteUsers struct {
XMLName xsd.String `xml:"tds:DeleteUsers"`
Username xsd.String `xml:"tds:Username"`
}
type DeleteUsersResponse struct {
}
type SetUser struct {
XMLName string `xml:"tds:SetUser"`
User onvif.User `xml:"tds:User"`
}
type SetUserResponse struct {
}
type GetWsdlUrl struct {
XMLName string `xml:"tds:GetWsdlUrl"`
}
type GetWsdlUrlResponse struct {
WsdlUrl xsd.AnyURI
}
type GetCapabilities struct {
XMLName string `xml:"tds:GetCapabilities"`
Category onvif.CapabilityCategory `xml:"tds:Category"`
}
type GetCapabilitiesResponse struct {
Capabilities onvif.Capabilities
}
type GetHostname struct {
XMLName string `xml:"tds:GetHostname"`
}
type GetHostnameResponse struct {
HostnameInformation onvif.HostnameInformation
}
type SetHostname struct {
XMLName string `xml:"tds:SetHostname"`
Name xsd.Token `xml:"tds:Name"`
}
type SetHostnameResponse struct {
}
type SetHostnameFromDHCP struct {
XMLName string `xml:"tds:SetHostnameFromDHCP"`
FromDHCP xsd.Boolean `xml:"tds:FromDHCP"`
}
type SetHostnameFromDHCPResponse struct {
RebootNeeded xsd.Boolean
}
type GetDNS struct {
XMLName string `xml:"tds:GetDNS"`
}
type GetDNSResponse struct {
DNSInformation onvif.DNSInformation
}
type SetDNS struct {
XMLName string `xml:"tds:SetDNS"`
FromDHCP xsd.Boolean `xml:"tds:FromDHCP"`
SearchDomain xsd.Token `xml:"tds:SearchDomain"`
DNSManual onvif.IPAddress `xml:"tds:DNSManual"`
}
type SetDNSResponse struct {
}
type GetNTP struct {
XMLName string `xml:"tds:GetNTP"`
}
type GetNTPResponse struct {
NTPInformation onvif.NTPInformation
}
type SetNTP struct {
XMLName string `xml:"tds:SetNTP"`
FromDHCP xsd.Boolean `xml:"tds:FromDHCP"`
NTPManual onvif.NetworkHost `xml:"tds:NTPManual"`
}
type SetNTPResponse struct {
}
type GetDynamicDNS struct {
XMLName string `xml:"tds:GetDynamicDNS"`
}
type GetDynamicDNSResponse struct {
DynamicDNSInformation onvif.DynamicDNSInformation
}
type SetDynamicDNS struct {
XMLName string `xml:"tds:SetDynamicDNS"`
Type onvif.DynamicDNSType `xml:"tds:Type"`
Name onvif.DNSName `xml:"tds:Name"`
TTL xsd.Duration `xml:"tds:TTL"`
}
type SetDynamicDNSResponse struct {
}
type GetNetworkInterfaces struct {
XMLName string `xml:"tds:GetNetworkInterfaces"`
}
type GetNetworkInterfacesResponse struct {
NetworkInterfaces onvif.NetworkInterface
}
type SetNetworkInterfaces struct {
XMLName string `xml:"tds:SetNetworkInterfaces"`
InterfaceToken onvif.ReferenceToken `xml:"tds:InterfaceToken"`
NetworkInterface onvif.NetworkInterfaceSetConfiguration `xml:"tds:NetworkInterface"`
}
type SetNetworkInterfacesResponse struct {
RebootNeeded xsd.Boolean
}
type GetNetworkProtocols struct {
XMLName string `xml:"tds:GetNetworkProtocols"`
}
type GetNetworkProtocolsResponse struct {
NetworkProtocols onvif.NetworkProtocol
}
type SetNetworkProtocols struct {
XMLName string `xml:"tds:SetNetworkProtocols"`
NetworkProtocols onvif.NetworkProtocol `xml:"tds:NetworkProtocols"`
}
type SetNetworkProtocolsResponse struct {
}
type GetNetworkDefaultGateway struct {
XMLName string `xml:"tds:GetNetworkDefaultGateway"`
}
type GetNetworkDefaultGatewayResponse struct {
NetworkGateway onvif.NetworkGateway
}
type SetNetworkDefaultGateway struct {
XMLName string `xml:"tds:SetNetworkDefaultGateway"`
IPv4Address onvif.IPv4Address `xml:"tds:IPv4Address"`
IPv6Address onvif.IPv6Address `xml:"tds:IPv6Address"`
}
type SetNetworkDefaultGatewayResponse struct {
}
type GetZeroConfiguration struct {
XMLName string `xml:"tds:GetZeroConfiguration"`
}
type GetZeroConfigurationResponse struct {
ZeroConfiguration onvif.NetworkZeroConfiguration
}
type SetZeroConfiguration struct {
XMLName string `xml:"tds:SetZeroConfiguration"`
InterfaceToken onvif.ReferenceToken `xml:"tds:InterfaceToken"`
Enabled xsd.Boolean `xml:"tds:Enabled"`
}
type SetZeroConfigurationResponse struct {
}
type GetIPAddressFilter struct {
XMLName string `xml:"tds:GetIPAddressFilter"`
}
type GetIPAddressFilterResponse struct {
IPAddressFilter onvif.IPAddressFilter
}
type SetIPAddressFilter struct {
XMLName string `xml:"tds:SetIPAddressFilter"`
IPAddressFilter onvif.IPAddressFilter `xml:"tds:IPAddressFilter"`
}
type SetIPAddressFilterResponse struct {
}
// This operation adds an IP filter address to a device.
// If the device supports device access control based on
// IP filtering rules (denied or accepted ranges of IP addresses),
// the device shall support adding of IP filtering addresses through
// the AddIPAddressFilter command.
type AddIPAddressFilter struct {
XMLName string `xml:"tds:AddIPAddressFilter"`
IPAddressFilter onvif.IPAddressFilter `xml:"tds:IPAddressFilter"`
}
type AddIPAddressFilterResponse struct {
}
type RemoveIPAddressFilter struct {
XMLName string `xml:"tds:RemoveIPAddressFilter"`
IPAddressFilter onvif.IPAddressFilter `xml:"onvif:IPAddressFilter"`
}
type RemoveIPAddressFilterResponse struct {
}
type GetAccessPolicy struct {
XMLName string `xml:"tds:GetAccessPolicy"`
}
type GetAccessPolicyResponse struct {
PolicyFile onvif.BinaryData
}
type SetAccessPolicy struct {
XMLName string `xml:"tds:SetAccessPolicy"`
PolicyFile onvif.BinaryData `xml:"tds:PolicyFile"`
}
type SetAccessPolicyResponse struct {
}
type CreateCertificate struct {
XMLName string `xml:"tds:CreateCertificate"`
CertificateID xsd.Token `xml:"tds:CertificateID,omitempty"`
Subject string `xml:"tds:Subject,omitempty"`
ValidNotBefore xsd.DateTime `xml:"tds:ValidNotBefore,omitempty"`
ValidNotAfter xsd.DateTime `xml:"tds:ValidNotAfter,omitempty"`
}
type CreateCertificateResponse struct {
NvtCertificate onvif.Certificate
}
type GetCertificates struct {
XMLName string `xml:"tds:GetCertificates"`
}
type GetCertificatesResponse struct {
NvtCertificate onvif.Certificate
}
type GetCertificatesStatus struct {
XMLName string `xml:"tds:GetCertificatesStatus"`
}
type GetCertificatesStatusResponse struct {
CertificateStatus onvif.CertificateStatus
}
type SetCertificatesStatus struct {
XMLName string `xml:"tds:SetCertificatesStatus"`
CertificateStatus onvif.CertificateStatus `xml:"tds:CertificateStatus"`
}
type SetCertificatesStatusResponse struct {
}
// TODO: List of CertificateID
type DeleteCertificates struct {
XMLName string `xml:"tds:DeleteCertificates"`
CertificateID xsd.Token `xml:"tds:CertificateID"`
}
type DeleteCertificatesResponse struct {
}
// TODO: Откуда onvif:data = cid:21312413412
type GetPkcs10Request struct {
XMLName string `xml:"tds:GetPkcs10Request"`
CertificateID xsd.Token `xml:"tds:CertificateID"`
Subject xsd.String `xml:"tds:Subject"`
Attributes onvif.BinaryData `xml:"tds:Attributes"`
}
type GetPkcs10RequestResponse struct {
Pkcs10Request onvif.BinaryData
}
// TODO: one or more NTVCertificate
type LoadCertificates struct {
XMLName string `xml:"tds:LoadCertificates"`
NVTCertificate onvif.Certificate `xml:"tds:NVTCertificate"`
}
type LoadCertificatesResponse struct {
}
type GetClientCertificateMode struct {
XMLName string `xml:"tds:GetClientCertificateMode"`
}
type GetClientCertificateModeResponse struct {
Enabled xsd.Boolean
}
type SetClientCertificateMode struct {
XMLName string `xml:"tds:SetClientCertificateMode"`
Enabled xsd.Boolean `xml:"tds:Enabled"`
}
type SetClientCertificateModeResponse struct {
}
type GetRelayOutputs struct {
XMLName string `xml:"tds:GetRelayOutputs"`
}
type GetRelayOutputsResponse struct {
RelayOutputs onvif.RelayOutput
}
type SetRelayOutputSettings struct {
XMLName string `xml:"tds:SetRelayOutputSettings"`
RelayOutputToken onvif.ReferenceToken `xml:"tds:RelayOutputToken"`
Properties onvif.RelayOutputSettings `xml:"tds:Properties"`
}
type SetRelayOutputSettingsResponse struct {
}
type SetRelayOutputState struct {
XMLName string `xml:"tds:SetRelayOutputState"`
RelayOutputToken onvif.ReferenceToken `xml:"tds:RelayOutputToken"`
LogicalState onvif.RelayLogicalState `xml:"tds:LogicalState"`
}
type SetRelayOutputStateResponse struct {
}
type SendAuxiliaryCommand struct {
XMLName string `xml:"tds:SendAuxiliaryCommand"`
AuxiliaryCommand onvif.AuxiliaryData `xml:"tds:AuxiliaryCommand"`
}
type SendAuxiliaryCommandResponse struct {
AuxiliaryCommandResponse onvif.AuxiliaryData
}
type GetCACertificates struct {
XMLName string `xml:"tds:GetCACertificates"`
}
type GetCACertificatesResponse struct {
CACertificate onvif.Certificate
}
// TODO: one or more CertificateWithPrivateKey
type LoadCertificateWithPrivateKey struct {
XMLName string `xml:"tds:LoadCertificateWithPrivateKey"`
CertificateWithPrivateKey onvif.CertificateWithPrivateKey `xml:"tds:CertificateWithPrivateKey"`
}
type LoadCertificateWithPrivateKeyResponse struct {
}
type GetCertificateInformation struct {
XMLName string `xml:"tds:GetCertificateInformation"`
CertificateID xsd.Token `xml:"tds:CertificateID"`
}
type GetCertificateInformationResponse struct {
CertificateInformation onvif.CertificateInformation
}
type LoadCACertificates struct {
XMLName string `xml:"tds:LoadCACertificates"`
CACertificate onvif.Certificate `xml:"tds:CACertificate"`
}
type LoadCACertificatesResponse struct {
}
type CreateDot1XConfiguration struct {
XMLName string `xml:"tds:CreateDot1XConfiguration"`
Dot1XConfiguration onvif.Dot1XConfiguration `xml:"tds:Dot1XConfiguration"`
}
type CreateDot1XConfigurationResponse struct {
}
type SetDot1XConfiguration struct {
XMLName string `xml:"tds:SetDot1XConfiguration"`
Dot1XConfiguration onvif.Dot1XConfiguration `xml:"tds:Dot1XConfiguration"`
}
type SetDot1XConfigurationResponse struct {
}
type GetDot1XConfiguration struct {
XMLName string `xml:"tds:GetDot1XConfiguration"`
Dot1XConfigurationToken onvif.ReferenceToken `xml:"tds:Dot1XConfigurationToken"`
}
type GetDot1XConfigurationResponse struct {
Dot1XConfiguration onvif.Dot1XConfiguration
}
type GetDot1XConfigurations struct {
XMLName string `xml:"tds:GetDot1XConfigurations"`
}
type GetDot1XConfigurationsResponse struct {
Dot1XConfiguration onvif.Dot1XConfiguration
}
// TODO: Zero or more Dot1XConfigurationToken
type DeleteDot1XConfiguration struct {
XMLName string `xml:"tds:DeleteDot1XConfiguration"`
Dot1XConfigurationToken onvif.ReferenceToken `xml:"tds:Dot1XConfigurationToken"`
}
type DeleteDot1XConfigurationResponse struct {
}
type GetDot11Capabilities struct {
XMLName string `xml:"tds:GetDot11Capabilities"`
}
type GetDot11CapabilitiesResponse struct {
Capabilities onvif.Dot11Capabilities
}
type GetDot11Status struct {
XMLName string `xml:"tds:GetDot11Status"`
InterfaceToken onvif.ReferenceToken `xml:"tds:InterfaceToken"`
}
type GetDot11StatusResponse struct {
Status onvif.Dot11Status
}
type ScanAvailableDot11Networks struct {
XMLName string `xml:"tds:ScanAvailableDot11Networks"`
InterfaceToken onvif.ReferenceToken `xml:"tds:InterfaceToken"`
}
type ScanAvailableDot11NetworksResponse struct {
Networks onvif.Dot11AvailableNetworks
}
type GetSystemUris struct {
XMLName string `xml:"tds:GetSystemUris"`
}
type GetSystemUrisResponse struct {
SystemLogUris onvif.SystemLogUriList
SupportInfoUri xsd.AnyURI
SystemBackupUri xsd.AnyURI
Extension xsd.AnyType
}
type StartFirmwareUpgrade struct {
XMLName string `xml:"tds:StartFirmwareUpgrade"`
}
type StartFirmwareUpgradeResponse struct {
UploadUri xsd.AnyURI
UploadDelay xsd.Duration
ExpectedDownTime xsd.Duration
}
type StartSystemRestore struct {
XMLName string `xml:"tds:StartSystemRestore"`
}
type StartSystemRestoreResponse struct {
UploadUri xsd.AnyURI
ExpectedDownTime xsd.Duration
}
type GetStorageConfigurations struct {
XMLName string `xml:"tds:GetStorageConfigurations"`
}
type GetStorageConfigurationsResponse struct {
StorageConfigurations StorageConfiguration
}
type CreateStorageConfiguration struct {
XMLName string `xml:"tds:CreateStorageConfiguration"`
StorageConfiguration StorageConfigurationData
}
type CreateStorageConfigurationResponse struct {
Token onvif.ReferenceToken
}
type GetStorageConfiguration struct {
XMLName string `xml:"tds:GetStorageConfiguration"`
Token onvif.ReferenceToken `xml:"tds:Token"`
}
type GetStorageConfigurationResponse struct {
StorageConfiguration StorageConfiguration
}
type SetStorageConfiguration struct {
XMLName string `xml:"tds:SetStorageConfiguration"`
StorageConfiguration StorageConfiguration `xml:"tds:StorageConfiguration"`
}
type SetStorageConfigurationResponse struct {
}
type DeleteStorageConfiguration struct {
XMLName string `xml:"tds:DeleteStorageConfiguration"`
Token onvif.ReferenceToken `xml:"tds:Token"`
}
type DeleteStorageConfigurationResponse struct {
}
type GetGeoLocation struct {
XMLName string `xml:"tds:GetGeoLocation"`
}
type GetGeoLocationResponse struct {
Location onvif.LocationEntity
}
// TODO: one or more Location
type SetGeoLocation struct {
XMLName string `xml:"tds:SetGeoLocation"`
Location onvif.LocationEntity `xml:"tds:Location"`
}
type SetGeoLocationResponse struct {
}
type DeleteGeoLocation struct {
XMLName string `xml:"tds:DeleteGeoLocation"`
Location onvif.LocationEntity `xml:"tds:Location"`
}
type DeleteGeoLocationResponse struct {
}