device

package
v0.0.0-...-2ce4e84 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddIPAddressFilter

type AddIPAddressFilter struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl AddIPAddressFilter"`

	IPAddressFilter *onvif.IPAddressFilter `xml:"IPAddressFilter,omitempty" json:"IPAddressFilter,omitempty"`
}

type AddIPAddressFilterResponse

type AddIPAddressFilterResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl AddIPAddressFilterResponse"`
}

type AddScopes

type AddScopes struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl AddScopes"`

	// Contains a list of new configurable scope parameters that will be added to the existing configurable scope.
	ScopeItem []xsd.AnyURI `xml:"ScopeItem,omitempty" json:"ScopeItem,omitempty"`
}

type AddScopesResponse

type AddScopesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl AddScopesResponse"`
}

type AutoGeoModes

type AutoGeoModes string
const (

	// Automatic adjustment of the device location.
	AutoGeoModesLocation AutoGeoModes = "Location"

	// Automatic adjustment of the device orientation relative to the compass also called yaw.
	AutoGeoModesHeading AutoGeoModes = "Heading"

	// Automatic adjustment of the deviation from the horizon also called pitch and roll.
	AutoGeoModesLeveling AutoGeoModes = "Leveling"
)

type Capabilities

type Capabilities DeviceServiceCapabilities

type CreateCertificate

type CreateCertificate struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateCertificate"`

	// Certificate id.
	CertificateID string `xml:"CertificateID,omitempty" json:"CertificateID,omitempty"`

	// Identification of the entity associated with the public-key.
	Subject string `xml:"Subject,omitempty" json:"Subject,omitempty"`

	// Certificate validity start date.
	ValidNotBefore soap.XSDDateTime `xml:"ValidNotBefore,omitempty" json:"ValidNotBefore,omitempty"`

	// Certificate expiry start date.
	ValidNotAfter soap.XSDDateTime `xml:"ValidNotAfter,omitempty" json:"ValidNotAfter,omitempty"`
}

type CreateCertificateResponse

type CreateCertificateResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateCertificateResponse"`

	//
	// base64 encoded DER representation of certificate.
	//
	NvtCertificate *onvif.Certificate `xml:"NvtCertificate,omitempty" json:"NvtCertificate,omitempty"`
}

type CreateDot1XConfiguration

type CreateDot1XConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateDot1XConfiguration"`

	Dot1XConfiguration *onvif.Dot1XConfiguration `xml:"Dot1XConfiguration,omitempty" json:"Dot1XConfiguration,omitempty"`
}

type CreateDot1XConfigurationResponse

type CreateDot1XConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateDot1XConfigurationResponse"`
}

type CreateStorageConfiguration

type CreateStorageConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateStorageConfiguration"`

	StorageConfiguration *StorageConfigurationData `xml:"StorageConfiguration,omitempty" json:"StorageConfiguration,omitempty"`
}

type CreateStorageConfigurationResponse

type CreateStorageConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateStorageConfigurationResponse"`

	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type CreateUsers

type CreateUsers struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateUsers"`

	// Creates new device users and corresponding credentials. Each user entry includes: username, password and user level. Either all users are created successfully or a fault message MUST be returned without creating any user. If trying to create several users with exactly the same username the request is rejected and no users are created. If password is missing, then fault message Too weak password is returned.
	User []*onvif.User `xml:"User,omitempty" json:"User,omitempty"`
}

type CreateUsersResponse

type CreateUsersResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl CreateUsersResponse"`
}

type DeleteCertificates

type DeleteCertificates struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteCertificates"`

	//
	// List of ids of certificates to delete.
	//
	CertificateID []string `xml:"CertificateID,omitempty" json:"CertificateID,omitempty"`
}

type DeleteCertificatesResponse

type DeleteCertificatesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteCertificatesResponse"`
}

type DeleteDot1XConfiguration

type DeleteDot1XConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteDot1XConfiguration"`

	Dot1XConfigurationToken []*onvif.ReferenceToken `xml:"Dot1XConfigurationToken,omitempty" json:"Dot1XConfigurationToken,omitempty"`
}

type DeleteDot1XConfigurationResponse

type DeleteDot1XConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteDot1XConfigurationResponse"`
}

type DeleteGeoLocation

type DeleteGeoLocation struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteGeoLocation"`

	Location []*onvif.LocationEntity `xml:"Location,omitempty" json:"Location,omitempty"`
}

type DeleteGeoLocationResponse

type DeleteGeoLocationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteGeoLocationResponse"`
}

type DeleteStorageConfiguration

type DeleteStorageConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteStorageConfiguration"`

	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type DeleteStorageConfigurationResponse

type DeleteStorageConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteStorageConfigurationResponse"`
}

type DeleteUsers

type DeleteUsers struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteUsers"`

	// Deletes users on an device and there may exist users that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a fault message MUST be returned and no users be deleted. If a username exists multiple times in the request, then a fault message is returned.
	Username []string `xml:"Username,omitempty" json:"Username,omitempty"`
}

type DeleteUsersResponse

type DeleteUsersResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl DeleteUsersResponse"`
}

type Device

type Device interface {

	/* Returns information about services on the device. */
	GetServices(request *GetServices) (*GetServicesResponse, error)

	GetServicesContext(ctx context.Context, request *GetServices) (*GetServicesResponse, error)

	/* Returns the capabilities of the device service. The result is returned in a typed answer. */
	GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)

	GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)

	/* This operation gets basic device information from the device. */
	GetDeviceInformation(request *GetDeviceInformation) (*GetDeviceInformationResponse, error)

	GetDeviceInformationContext(ctx context.Context, request *GetDeviceInformation) (*GetDeviceInformationResponse, error)

	/* This operation sets the device system date and time. The device shall support the
	configuration of the daylight saving setting and of the manual system date and time (if
	applicable) or indication of NTP time (if applicable) through the SetSystemDateAndTime
	command.
	If system time and date are set manually, the client shall include UTCDateTime in the request.
	A TimeZone token which is not formed according to the rules of IEEE 1003.1 section 8.3 is considered as invalid timezone.
	The DayLightSavings flag should be set to true to activate any DST settings of the TimeZone string.
	Clear the DayLightSavings flag if the DST portion of the TimeZone settings should be ignored.
	*/
	SetSystemDateAndTime(request *SetSystemDateAndTime) (*SetSystemDateAndTimeResponse, error)

	SetSystemDateAndTimeContext(ctx context.Context, request *SetSystemDateAndTime) (*SetSystemDateAndTimeResponse, error)

	/* This operation gets the device system date and time. The device shall support the return of
	the daylight saving setting and of the manual system date and time (if applicable) or indication
	of NTP time (if applicable) through the GetSystemDateAndTime command.
	A device shall provide the UTCDateTime information. */
	GetSystemDateAndTime(request *GetSystemDateAndTime) (*GetSystemDateAndTimeResponse, error)

	GetSystemDateAndTimeContext(ctx context.Context, request *GetSystemDateAndTime) (*GetSystemDateAndTimeResponse, error)

	/* This operation reloads the parameters on the device to their factory default values. */
	SetSystemFactoryDefault(request *SetSystemFactoryDefault) (*SetSystemFactoryDefaultResponse, error)

	SetSystemFactoryDefaultContext(ctx context.Context, request *SetSystemFactoryDefault) (*SetSystemFactoryDefaultResponse, error)

	/* This operation upgrades a device firmware version. After a successful upgrade the response
	message is sent before the device reboots. The device should support firmware upgrade
	through the UpgradeSystemFirmware command. The exact format of the firmware data is
	outside the scope of this standard. */
	UpgradeSystemFirmware(request *UpgradeSystemFirmware) (*UpgradeSystemFirmwareResponse, error)

	UpgradeSystemFirmwareContext(ctx context.Context, request *UpgradeSystemFirmware) (*UpgradeSystemFirmwareResponse, error)

	/* This operation reboots the device. */
	SystemReboot(request *SystemReboot) (*SystemRebootResponse, error)

	SystemRebootContext(ctx context.Context, request *SystemReboot) (*SystemRebootResponse, error)

	/* This operation restores the system backup configuration files(s) previously retrieved from a
	device. The device should support restore of backup configuration file(s) through the
	RestoreSystem command. The exact format of the backup configuration file(s) is outside the
	scope of this standard. If the command is supported, it shall accept backup files returned by
	the GetSystemBackup command. */
	RestoreSystem(request *RestoreSystem) (*RestoreSystemResponse, error)

	RestoreSystemContext(ctx context.Context, request *RestoreSystem) (*RestoreSystemResponse, error)

	/* This operation is retrieves system backup configuration file(s) from a device. The device
	should support return of back up configuration file(s) through the GetSystemBackup command.
	The backup is returned with reference to a name and mime-type together with binary data.
	The exact format of the backup configuration files is outside the scope of this standard. */
	GetSystemBackup(request *GetSystemBackup) (*GetSystemBackupResponse, error)

	GetSystemBackupContext(ctx context.Context, request *GetSystemBackup) (*GetSystemBackupResponse, error)

	/* This operation gets a system log from the device. The exact format of the system logs is outside the scope of this standard. */
	GetSystemLog(request *GetSystemLog) (*GetSystemLogResponse, error)

	GetSystemLogContext(ctx context.Context, request *GetSystemLog) (*GetSystemLogResponse, error)

	/* This operation gets arbitary device diagnostics information from the device. */
	GetSystemSupportInformation(request *GetSystemSupportInformation) (*GetSystemSupportInformationResponse, error)

	GetSystemSupportInformationContext(ctx context.Context, request *GetSystemSupportInformation) (*GetSystemSupportInformationResponse, error)

	/* This operation requests the scope parameters of a device. The scope parameters are used in
	the device discovery to match a probe message, see Section 7. The Scope parameters are of
	two different types:
	Fixed scope parameters are permanent device characteristics and cannot be removed through the device management interface.
	The scope type is indicated in the scope list returned in the get scope parameters response. A device shall support
	retrieval of discovery scope parameters through the GetScopes command. As some scope parameters are mandatory,
	the device shall return a non-empty scope list in the response. */
	GetScopes(request *GetScopes) (*GetScopesResponse, error)

	GetScopesContext(ctx context.Context, request *GetScopes) (*GetScopesResponse, error)

	/* This operation sets the scope parameters of a device. The scope parameters are used in the
	device discovery to match a probe message.
	This operation replaces all existing configurable scope parameters (not fixed parameters). If
	this shall be avoided, one should use the scope add command instead. The device shall
	support configuration of discovery scope parameters through the SetScopes command. */
	SetScopes(request *SetScopes) (*SetScopesResponse, error)

	SetScopesContext(ctx context.Context, request *SetScopes) (*SetScopesResponse, error)

	/* This operation adds new configurable scope parameters to a device. The scope parameters
	are used in the device discovery to match a probe message. The device shall
	support addition of discovery scope parameters through the AddScopes command. */
	AddScopes(request *AddScopes) (*AddScopesResponse, error)

	AddScopesContext(ctx context.Context, request *AddScopes) (*AddScopesResponse, error)

	/* This operation deletes scope-configurable scope parameters from a device. The scope
	parameters are used in the device discovery to match a probe message, see Section 7. The
	device shall support deletion of discovery scope parameters through the RemoveScopes
	command.
	Table */
	RemoveScopes(request *RemoveScopes) (*RemoveScopesResponse, error)

	RemoveScopesContext(ctx context.Context, request *RemoveScopes) (*RemoveScopesResponse, error)

	/* This operation gets the discovery mode of a device. See Section 7.2 for the definition of the
	different device discovery modes. The device shall support retrieval of the discovery mode
	setting through the GetDiscoveryMode command. */
	GetDiscoveryMode(request *GetDiscoveryMode) (*GetDiscoveryModeResponse, error)

	GetDiscoveryModeContext(ctx context.Context, request *GetDiscoveryMode) (*GetDiscoveryModeResponse, error)

	/* This operation sets the discovery mode operation of a device. See Section 7.2 for the
	definition of the different device discovery modes. The device shall support configuration of
	the discovery mode setting through the SetDiscoveryMode command. */
	SetDiscoveryMode(request *SetDiscoveryMode) (*SetDiscoveryModeResponse, error)

	SetDiscoveryModeContext(ctx context.Context, request *SetDiscoveryMode) (*SetDiscoveryModeResponse, error)

	/* This operation gets the remote discovery mode of a device. See Section 7.4 for the definition
	of remote discovery extensions. A device that supports remote discovery shall support
	retrieval of the remote discovery mode setting through the GetRemoteDiscoveryMode
	command. */
	GetRemoteDiscoveryMode(request *GetRemoteDiscoveryMode) (*GetRemoteDiscoveryModeResponse, error)

	GetRemoteDiscoveryModeContext(ctx context.Context, request *GetRemoteDiscoveryMode) (*GetRemoteDiscoveryModeResponse, error)

	/* This operation sets the remote discovery mode of operation of a device. See Section 7.4 for
	the definition of remote discovery remote extensions. A device that supports remote discovery
	shall support configuration of the discovery mode setting through the
	SetRemoteDiscoveryMode command. */
	SetRemoteDiscoveryMode(request *SetRemoteDiscoveryMode) (*SetRemoteDiscoveryModeResponse, error)

	SetRemoteDiscoveryModeContext(ctx context.Context, request *SetRemoteDiscoveryMode) (*SetRemoteDiscoveryModeResponse, error)

	/* This operation gets the remote DP address or addresses from a device. If the device supports
	remote discovery, as specified in Section 7.4, the device shall support retrieval of the remote
	DP address(es) through the GetDPAddresses command. */
	GetDPAddresses(request *GetDPAddresses) (*GetDPAddressesResponse, error)

	GetDPAddressesContext(ctx context.Context, request *GetDPAddresses) (*GetDPAddressesResponse, error)

	/* This operation sets the remote DP address or addresses on a device. If the device supports
	remote discovery, as specified in Section 7.4, the device shall support configuration of the
	remote DP address(es) through the SetDPAddresses command. */
	SetDPAddresses(request *SetDPAddresses) (*SetDPAddressesResponse, error)

	SetDPAddressesContext(ctx context.Context, request *SetDPAddresses) (*SetDPAddressesResponse, error)

	/* A client can ask for the device service endpoint reference address property that can be used
	to derive the password equivalent for remote user operation. The device shall support the
	GetEndpointReference command returning the address property of the device service
	endpoint reference. */
	GetEndpointReference(request *GetEndpointReference) (*GetEndpointReferenceResponse, error)

	GetEndpointReferenceContext(ctx context.Context, request *GetEndpointReference) (*GetEndpointReferenceResponse, error)

	/* This operation returns the configured remote user (if any). A device supporting remote user
	handling shall support this operation. The user is only valid for the WS-UserToken profile or
	as a HTTP / RTSP user.
	The algorithm to use for deriving the password is described in section 5.12.2.1 of the core specification. */
	GetRemoteUser(request *GetRemoteUser) (*GetRemoteUserResponse, error)

	GetRemoteUserContext(ctx context.Context, request *GetRemoteUser) (*GetRemoteUserResponse, error)

	/* This operation sets the remote user. A device supporting remote user handling shall support this
	operation. The user is only valid for the WS-UserToken profile or as a HTTP / RTSP user.
	The password that is set shall always be the original (not derived) password.
	If UseDerivedPassword is set password derivation shall be done by the device when connecting to a
	remote device.The algorithm to use for deriving the password is described in section 5.12.2.1 of the core specification.
	To remove the remote user SetRemoteUser should be called without the RemoteUser parameter. */
	SetRemoteUser(request *SetRemoteUser) (*SetRemoteUserResponse, error)

	SetRemoteUserContext(ctx context.Context, request *SetRemoteUser) (*SetRemoteUserResponse, error)

	/* This operation lists the registered users and corresponding credentials on a device. The
	device shall support retrieval of registered device users and their credentials for the user
	token through the GetUsers command. */
	GetUsers(request *GetUsers) (*GetUsersResponse, error)

	GetUsersContext(ctx context.Context, request *GetUsers) (*GetUsersResponse, error)

	/* This operation creates new device users and corresponding credentials on a device for authentication purposes.
	The device shall support creation of device users and their credentials through the CreateUsers
	command. Either all users are created successfully or a fault message shall be returned
	without creating any user.
	ONVIF compliant devices are recommended to support password length of at least 28 bytes,
	as clients may follow the password derivation mechanism which results in 'password
	equivalent' of length 28 bytes, as described in section 3.1.2 of the ONVIF security white paper. */
	CreateUsers(request *CreateUsers) (*CreateUsersResponse, error)

	CreateUsersContext(ctx context.Context, request *CreateUsers) (*CreateUsersResponse, error)

	/* This operation deletes users on a device. The device shall support deletion of device users and their credentials
	through the DeleteUsers command. A device may have one or more fixed users
	that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a
	fault message shall be returned and no users be deleted. */
	DeleteUsers(request *DeleteUsers) (*DeleteUsersResponse, error)

	DeleteUsersContext(ctx context.Context, request *DeleteUsers) (*DeleteUsersResponse, error)

	/* This operation updates the settings for one or several users on a device for authentication purposes.
	The device shall support update of device users and their credentials through the SetUser command.
	Either all change requests are processed successfully or a fault message shall be returned and no change requests be processed. */
	SetUser(request *SetUser) (*SetUserResponse, error)

	SetUserContext(ctx context.Context, request *SetUser) (*SetUserResponse, error)

	/* This method allows to provide a URL where product specific WSDL and schema definitions can be retrieved. This method is deprecated. */
	GetWsdlUrl(request *GetWsdlUrl) (*GetWsdlUrlResponse, error)

	GetWsdlUrlContext(ctx context.Context, request *GetWsdlUrl) (*GetWsdlUrlResponse, error)

	/* This method allows retrieval of all the available parameters and their valid ranges for the password complexity configuration. */
	GetPasswordComplexityOptions(request *GetPasswordComplexityOptions) (*GetPasswordComplexityOptionsResponse, error)

	GetPasswordComplexityOptionsContext(ctx context.Context, request *GetPasswordComplexityOptions) (*GetPasswordComplexityOptionsResponse, error)

	/* This method allows retrieval of the current password complexity configuration settings. */
	GetPasswordComplexityConfiguration(request *GetPasswordComplexityConfiguration) (*GetPasswordComplexityConfigurationResponse, error)

	GetPasswordComplexityConfigurationContext(ctx context.Context, request *GetPasswordComplexityConfiguration) (*GetPasswordComplexityConfigurationResponse, error)

	/* This method allows setting of the password complexity configuration. */
	SetPasswordComplexityConfiguration(request *SetPasswordComplexityConfiguration) (*SetPasswordComplexityConfigurationResponse, error)

	SetPasswordComplexityConfigurationContext(ctx context.Context, request *SetPasswordComplexityConfiguration) (*SetPasswordComplexityConfigurationResponse, error)

	/* This method allows retrieval of the current password history configuration settings. */
	GetPasswordHistoryConfiguration(request *GetPasswordHistoryConfiguration) (*GetPasswordHistoryConfigurationResponse, error)

	GetPasswordHistoryConfigurationContext(ctx context.Context, request *GetPasswordHistoryConfiguration) (*GetPasswordHistoryConfigurationResponse, error)

	/* This method allows setting of the password history configuration. */
	SetPasswordHistoryConfiguration(request *SetPasswordHistoryConfiguration) (*SetPasswordHistoryConfigurationResponse, error)

	SetPasswordHistoryConfigurationContext(ctx context.Context, request *SetPasswordHistoryConfiguration) (*SetPasswordHistoryConfigurationResponse, error)

	/* This method allows retrieval of all the available parameters and their valid ranges for the authentication failure warning configuration. */
	GetAuthFailureWarningOptions(request *GetAuthFailureWarningOptions) (*GetAuthFailureWarningOptionsResponse, error)

	GetAuthFailureWarningOptionsContext(ctx context.Context, request *GetAuthFailureWarningOptions) (*GetAuthFailureWarningOptionsResponse, error)

	/* This method allows retrieval of the current authentication failure warning configuration settings. */
	GetAuthFailureWarningConfiguration(request *GetAuthFailureWarningConfiguration) (*GetAuthFailureWarningConfigurationResponse, error)

	GetAuthFailureWarningConfigurationContext(ctx context.Context, request *GetAuthFailureWarningConfiguration) (*GetAuthFailureWarningConfigurationResponse, error)

	/* This method allows setting of the authentication failure warning configuration. */
	SetAuthFailureWarningConfiguration(request *SetAuthFailureWarningConfiguration) (*SetAuthFailureWarningConfigurationResponse, error)

	SetAuthFailureWarningConfigurationContext(ctx context.Context, request *SetAuthFailureWarningConfiguration) (*SetAuthFailureWarningConfigurationResponse, error)

	/* This method has been replaced by the more generic GetServices method.
	For capabilities of individual services refer to the GetServiceCapabilities methods. */
	GetCapabilities(request *GetCapabilities) (*GetCapabilitiesResponse, error)

	GetCapabilitiesContext(ctx context.Context, request *GetCapabilities) (*GetCapabilitiesResponse, error)

	/* This operation is used by an endpoint to get the hostname from a device. The device shall
	return its hostname configurations through the GetHostname command. */
	GetHostname(request *GetHostname) (*GetHostnameResponse, error)

	GetHostnameContext(ctx context.Context, request *GetHostname) (*GetHostnameResponse, error)

	/* This operation sets the hostname on a device. It shall be possible to set the device hostname
	configurations through the SetHostname command.
	A device shall accept string formated according to RFC 1123 section 2.1 or alternatively to RFC 952,
	other string shall be considered as invalid strings.
	*/
	SetHostname(request *SetHostname) (*SetHostnameResponse, error)

	SetHostnameContext(ctx context.Context, request *SetHostname) (*SetHostnameResponse, error)

	/* This operation controls whether the hostname is set manually or retrieved via DHCP. */
	SetHostnameFromDHCP(request *SetHostnameFromDHCP) (*SetHostnameFromDHCPResponse, error)

	SetHostnameFromDHCPContext(ctx context.Context, request *SetHostnameFromDHCP) (*SetHostnameFromDHCPResponse, error)

	/* This operation gets the DNS settings from a device. The device shall return its DNS
	configurations through the GetDNS command. */
	GetDNS(request *GetDNS) (*GetDNSResponse, error)

	GetDNSContext(ctx context.Context, request *GetDNS) (*GetDNSResponse, error)

	/* This operation sets the DNS settings on a device. It shall be possible to set the device DNS
	configurations through the SetDNS command. */
	SetDNS(request *SetDNS) (*SetDNSResponse, error)

	SetDNSContext(ctx context.Context, request *SetDNS) (*SetDNSResponse, error)

	/* This operation gets the NTP settings from a device. If the device supports NTP, it shall be
	possible to get the NTP server settings through the GetNTP command. */
	GetNTP(request *GetNTP) (*GetNTPResponse, error)

	GetNTPContext(ctx context.Context, request *GetNTP) (*GetNTPResponse, error)

	/* This operation sets the NTP settings on a device. If the device supports NTP, it shall be
	possible to set the NTP server settings through the SetNTP command.
	A device shall accept string formated according to RFC 1123 section 2.1 or alternatively to RFC 952,
	other string shall be considered as invalid strings.
	Changes to the NTP server list will not affect the clock mode DateTimeType. Use SetSystemDateAndTime to activate NTP operation.
	*/
	SetNTP(request *SetNTP) (*SetNTPResponse, error)

	SetNTPContext(ctx context.Context, request *SetNTP) (*SetNTPResponse, error)

	/* This operation gets the dynamic DNS settings from a device. If the device supports dynamic
	DNS as specified in [RFC 2136] and [RFC 4702], it shall be possible to get the type, name
	and TTL through the GetDynamicDNS command. */
	GetDynamicDNS(request *GetDynamicDNS) (*GetDynamicDNSResponse, error)

	GetDynamicDNSContext(ctx context.Context, request *GetDynamicDNS) (*GetDynamicDNSResponse, error)

	/* This operation sets the dynamic DNS settings on a device. If the device supports dynamic
	DNS as specified in [RFC 2136] and [RFC 4702], it shall be possible to set the type, name
	and TTL through the SetDynamicDNS command. */
	SetDynamicDNS(request *SetDynamicDNS) (*SetDynamicDNSResponse, error)

	SetDynamicDNSContext(ctx context.Context, request *SetDynamicDNS) (*SetDynamicDNSResponse, error)

	/* This operation gets the network interface configuration from a device. The device shall
	support return of network interface configuration settings as defined by the NetworkInterface
	type through the GetNetworkInterfaces command. */
	GetNetworkInterfaces(request *GetNetworkInterfaces) (*GetNetworkInterfacesResponse, error)

	GetNetworkInterfacesContext(ctx context.Context, request *GetNetworkInterfaces) (*GetNetworkInterfacesResponse, error)

	/* This operation sets the network interface configuration on a device. The device shall support
	network configuration of supported network interfaces through the SetNetworkInterfaces
	command.
	For interoperability with a client unaware of the IEEE 802.11 extension a device shall retain
	its IEEE 802.11 configuration if the IEEE 802.11 configuration element isn’t present in the
	request. */
	SetNetworkInterfaces(request *SetNetworkInterfaces) (*SetNetworkInterfacesResponse, error)

	SetNetworkInterfacesContext(ctx context.Context, request *SetNetworkInterfaces) (*SetNetworkInterfacesResponse, error)

	/* This operation gets defined network protocols from a device. The device shall support the
	GetNetworkProtocols command returning configured network protocols. */
	GetNetworkProtocols(request *GetNetworkProtocols) (*GetNetworkProtocolsResponse, error)

	GetNetworkProtocolsContext(ctx context.Context, request *GetNetworkProtocols) (*GetNetworkProtocolsResponse, error)

	/* This operation configures defined network protocols on a device. The device shall support
	configuration of defined network protocols through the SetNetworkProtocols command. */
	SetNetworkProtocols(request *SetNetworkProtocols) (*SetNetworkProtocolsResponse, error)

	SetNetworkProtocolsContext(ctx context.Context, request *SetNetworkProtocols) (*SetNetworkProtocolsResponse, error)

	/* This operation gets the default gateway settings from a device. The device shall support the
	GetNetworkDefaultGateway command returning configured default gateway address(es). */
	GetNetworkDefaultGateway(request *GetNetworkDefaultGateway) (*GetNetworkDefaultGatewayResponse, error)

	GetNetworkDefaultGatewayContext(ctx context.Context, request *GetNetworkDefaultGateway) (*GetNetworkDefaultGatewayResponse, error)

	/* This operation sets the default gateway settings on a device. The device shall support
	configuration of default gateway through the SetNetworkDefaultGateway command. */
	SetNetworkDefaultGateway(request *SetNetworkDefaultGateway) (*SetNetworkDefaultGatewayResponse, error)

	SetNetworkDefaultGatewayContext(ctx context.Context, request *SetNetworkDefaultGateway) (*SetNetworkDefaultGatewayResponse, error)

	/* This operation gets the zero-configuration from a device. If the device supports dynamic IP
		configuration according to [RFC3927], it shall support the return of IPv4 zero configuration
		address and status through the GetZeroConfiguration command.
	Devices supporting zero configuration on more than one interface shall use the extension to list the additional interface settings. */
	GetZeroConfiguration(request *GetZeroConfiguration) (*GetZeroConfigurationResponse, error)

	GetZeroConfigurationContext(ctx context.Context, request *GetZeroConfiguration) (*GetZeroConfigurationResponse, error)

	/* This operation sets the zero-configuration. Use GetCapalities to get if zero-zero-configuration is supported or not. */
	SetZeroConfiguration(request *SetZeroConfiguration) (*SetZeroConfigurationResponse, error)

	SetZeroConfigurationContext(ctx context.Context, request *SetZeroConfiguration) (*SetZeroConfigurationResponse, error)

	/* This operation gets the IP address filter settings from 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 the GetIPAddressFilter command. */
	GetIPAddressFilter(request *GetIPAddressFilter) (*GetIPAddressFilterResponse, error)

	GetIPAddressFilterContext(ctx context.Context, request *GetIPAddressFilter) (*GetIPAddressFilterResponse, error)

	/* This operation sets the IP address filter settings on 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 configuration of IP filtering rules through the SetIPAddressFilter
	command. */
	SetIPAddressFilter(request *SetIPAddressFilter) (*SetIPAddressFilterResponse, error)

	SetIPAddressFilterContext(ctx context.Context, request *SetIPAddressFilter) (*SetIPAddressFilterResponse, error)

	/* 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. */
	AddIPAddressFilter(request *AddIPAddressFilter) (*AddIPAddressFilterResponse, error)

	AddIPAddressFilterContext(ctx context.Context, request *AddIPAddressFilter) (*AddIPAddressFilterResponse, error)

	/* This operation deletes an IP filter address from 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 deletion of IP filtering addresses through the RemoveIPAddressFilter command. */
	RemoveIPAddressFilter(request *RemoveIPAddressFilter) (*RemoveIPAddressFilterResponse, error)

	RemoveIPAddressFilterContext(ctx context.Context, request *RemoveIPAddressFilter) (*RemoveIPAddressFilterResponse, error)

	/* Access to different services and sub-sets of services should be subject to access control. The
	WS-Security framework gives the prerequisite for end-point authentication. Authorization
	decisions can then be taken using an access security policy. This standard does not mandate
	any particular policy description format or security policy but this is up to the device
	manufacturer or system provider to choose policy and policy description format of choice.
	However, an access policy (in arbitrary format) can be requested using this command. If the
	device supports access policy settings based on WS-Security authentication, then the device
	shall support this command. */
	GetAccessPolicy(request *GetAccessPolicy) (*GetAccessPolicyResponse, error)

	GetAccessPolicyContext(ctx context.Context, request *GetAccessPolicy) (*GetAccessPolicyResponse, error)

	/* This command sets the device access security policy (for more details on the access security
	policy see the Get command). If the device supports access policy settings
	based on WS-Security authentication, then the device shall support this command. */
	SetAccessPolicy(request *SetAccessPolicy) (*SetAccessPolicyResponse, error)

	SetAccessPolicyContext(ctx context.Context, request *SetAccessPolicy) (*SetAccessPolicyResponse, error)

	/* This operation gets a list of all available relay outputs and their settings.
	This method has been depricated with version 2.0. Refer to the DeviceIO service. */
	GetRelayOutputs(request *GetRelayOutputs) (*GetRelayOutputsResponse, error)

	GetRelayOutputsContext(ctx context.Context, request *GetRelayOutputs) (*GetRelayOutputsResponse, error)

	/* This operation sets the settings of a relay output.
	This method has been depricated with version 2.0. Refer to the DeviceIO service. */
	SetRelayOutputSettings(request *SetRelayOutputSettings) (*SetRelayOutputSettingsResponse, error)

	SetRelayOutputSettingsContext(ctx context.Context, request *SetRelayOutputSettings) (*SetRelayOutputSettingsResponse, error)

	/* This operation sets the state of a relay output.
	This method has been depricated with version 2.0. Refer to the DeviceIO service. */
	SetRelayOutputState(request *SetRelayOutputState) (*SetRelayOutputStateResponse, error)

	SetRelayOutputStateContext(ctx context.Context, request *SetRelayOutputState) (*SetRelayOutputStateResponse, error)

	/* Manage auxiliary commands supported by a device, such as controlling an Infrared (IR) lamp,
	a heater or a wiper or a thermometer that is connected to the device.
	The supported commands can be retrieved via the AuxiliaryCommands capability.
	Although the name of the auxiliary commands can be freely defined, commands starting with the prefix tt: are
	reserved to define frequently used commands and these reserved commands shall all share the "tt:command|parameter" syntax.

	A device that indicates auxiliary service capability shall support this command. */
	SendAuxiliaryCommand(request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error)

	SendAuxiliaryCommandContext(ctx context.Context, request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error)

	/* This operation returns the IEEE802.11 capabilities. The device shall support
	this operation. */
	GetDot11Capabilities(request *GetDot11Capabilities) (*GetDot11CapabilitiesResponse, error)

	GetDot11CapabilitiesContext(ctx context.Context, request *GetDot11Capabilities) (*GetDot11CapabilitiesResponse, error)

	/* This operation returns the status of a wireless network interface. The device shall support this
	command. */
	GetDot11Status(request *GetDot11Status) (*GetDot11StatusResponse, error)

	GetDot11StatusContext(ctx context.Context, request *GetDot11Status) (*GetDot11StatusResponse, error)

	/* This operation returns a lists of the wireless networks in range of the device. A device should
	support this operation. */
	ScanAvailableDot11Networks(request *ScanAvailableDot11Networks) (*ScanAvailableDot11NetworksResponse, error)

	ScanAvailableDot11NetworksContext(ctx context.Context, request *ScanAvailableDot11Networks) (*ScanAvailableDot11NetworksResponse, error)

	/* This operation is used to retrieve URIs from which system information may be downloaded
	using HTTP. URIs may be returned for the following system information:
	System Logs. Multiple system logs may be returned, of different types. The exact format of
	the system logs is outside the scope of this specification.
	Support Information. This consists of arbitrary device diagnostics information from a device.
	The exact format of the diagnostic information is outside the scope of this specification.
	System Backup. The received file is a backup file that can be used to restore the current
	device configuration at a later date. The exact format of the backup configuration file is
	outside the scope of this specification.
	If the device allows retrieval of system logs, support information or system backup data, it
	should make them available via HTTP GET. If it does, it shall support the GetSystemUris
	command. */
	GetSystemUris(request *GetSystemUris) (*GetSystemUrisResponse, error)

	GetSystemUrisContext(ctx context.Context, request *GetSystemUris) (*GetSystemUrisResponse, error)

	/* This operation initiates a firmware upgrade using the HTTP POST mechanism. The response
	to the command includes an HTTP URL to which the upgrade file may be uploaded. The
	actual upgrade takes place as soon as the HTTP POST operation has completed. The device
	should support firmware upgrade through the StartFirmwareUpgrade command. The exact
	format of the firmware data is outside the scope of this specification.
	Firmware upgrade over HTTP may be achieved using the following steps:
	If the firmware upgrade fails because the upgrade file was invalid, the HTTP POST response
	shall be “415 Unsupported Media Type”. If the firmware upgrade fails due to an error at the
	device, the HTTP POST response shall be “500 Internal Server Error”.
	The value of the Content-Type header in the HTTP POST request shall be “application/octetstream”. */
	StartFirmwareUpgrade(request *StartFirmwareUpgrade) (*StartFirmwareUpgradeResponse, error)

	StartFirmwareUpgradeContext(ctx context.Context, request *StartFirmwareUpgrade) (*StartFirmwareUpgradeResponse, error)

	/* This operation initiates a system restore from backed up configuration data using the HTTP
	POST mechanism. The response to the command includes an HTTP URL to which the backup
	file may be uploaded. The actual restore takes place as soon as the HTTP POST operation
	has completed. Devices should support system restore through the StartSystemRestore
	command. The exact format of the backup configuration data is outside the scope of this
	specification.
	System restore over HTTP may be achieved using the following steps:
	If the system restore fails because the uploaded file was invalid, the HTTP POST response
	shall be “415 Unsupported Media Type”. If the system restore fails due to an error at the
	device, the HTTP POST response shall be “500 Internal Server Error”.
	The value of the Content-Type header in the HTTP POST request shall be “application/octetstream”. */
	StartSystemRestore(request *StartSystemRestore) (*StartSystemRestoreResponse, error)

	StartSystemRestoreContext(ctx context.Context, request *StartSystemRestore) (*StartSystemRestoreResponse, error)

	/*
		This operation lists all existing storage configurations for the device.
	*/
	GetStorageConfigurations(request *GetStorageConfigurations) (*GetStorageConfigurationsResponse, error)

	GetStorageConfigurationsContext(ctx context.Context, request *GetStorageConfigurations) (*GetStorageConfigurationsResponse, error)

	/*
		This operation creates a new storage configuration.
		The configuration data shall be created in the device and shall be persistent (remain after reboot).
	*/
	CreateStorageConfiguration(request *CreateStorageConfiguration) (*CreateStorageConfigurationResponse, error)

	CreateStorageConfigurationContext(ctx context.Context, request *CreateStorageConfiguration) (*CreateStorageConfigurationResponse, error)

	/*
		This operation retrieves the Storage configuration associated with the given storage configuration token.
	*/
	GetStorageConfiguration(request *GetStorageConfiguration) (*GetStorageConfigurationResponse, error)

	GetStorageConfigurationContext(ctx context.Context, request *GetStorageConfiguration) (*GetStorageConfigurationResponse, error)

	/*
		This operation modifies an existing Storage configuration.
	*/
	SetStorageConfiguration(request *SetStorageConfiguration) (*SetStorageConfigurationResponse, error)

	SetStorageConfigurationContext(ctx context.Context, request *SetStorageConfiguration) (*SetStorageConfigurationResponse, error)

	/*
		This operation deletes the given storage configuration and configuration change shall always be persistent.
	*/
	DeleteStorageConfiguration(request *DeleteStorageConfiguration) (*DeleteStorageConfigurationResponse, error)

	DeleteStorageConfigurationContext(ctx context.Context, request *DeleteStorageConfiguration) (*DeleteStorageConfigurationResponse, error)

	/*
		This operation lists all existing geo location configurations for the device.
	*/
	GetGeoLocation(request *GetGeoLocation) (*GetGeoLocationResponse, error)

	GetGeoLocationContext(ctx context.Context, request *GetGeoLocation) (*GetGeoLocationResponse, error)

	/*
		This operation allows to modify one or more geo configuration entries.
	*/
	SetGeoLocation(request *SetGeoLocation) (*SetGeoLocationResponse, error)

	SetGeoLocationContext(ctx context.Context, request *SetGeoLocation) (*SetGeoLocationResponse, error)

	/*
		This operation deletes the given geo location entries.
	*/
	DeleteGeoLocation(request *DeleteGeoLocation) (*DeleteGeoLocationResponse, error)

	DeleteGeoLocationContext(ctx context.Context, request *DeleteGeoLocation) (*DeleteGeoLocationResponse, error)

	/*
		This operation sets the hashing algorithm(s) used in HTTP and RTSP Digest Authentication.
	*/
	SetHashingAlgorithm(request *SetHashingAlgorithm) (*SetHashingAlgorithmResponse, error)

	SetHashingAlgorithmContext(ctx context.Context, request *SetHashingAlgorithm) (*SetHashingAlgorithmResponse, error)

	CreateCertificate(request *CreateCertificate) (*CreateCertificateResponse, error)

	CreateCertificateContext(ctx context.Context, request *CreateCertificate) (*CreateCertificateResponse, error)

	GetCertificates(request *GetCertificates) (*GetCertificatesResponse, error)

	GetCertificatesContext(ctx context.Context, request *GetCertificates) (*GetCertificatesResponse, error)

	GetCertificatesStatus(request *GetCertificatesStatus) (*GetCertificatesStatusResponse, error)

	GetCertificatesStatusContext(ctx context.Context, request *GetCertificatesStatus) (*GetCertificatesStatusResponse, error)

	SetCertificatesStatus(request *SetCertificatesStatus) (*SetCertificatesStatusResponse, error)

	SetCertificatesStatusContext(ctx context.Context, request *SetCertificatesStatus) (*SetCertificatesStatusResponse, error)

	DeleteCertificates(request *DeleteCertificates) (*DeleteCertificatesResponse, error)

	DeleteCertificatesContext(ctx context.Context, request *DeleteCertificates) (*DeleteCertificatesResponse, error)

	GetPkcs10Request(request *GetPkcs10Request) (*GetPkcs10RequestResponse, error)

	GetPkcs10RequestContext(ctx context.Context, request *GetPkcs10Request) (*GetPkcs10RequestResponse, error)

	LoadCertificates(request *LoadCertificates) (*LoadCertificatesResponse, error)

	LoadCertificatesContext(ctx context.Context, request *LoadCertificates) (*LoadCertificatesResponse, error)

	GetClientCertificateMode(request *GetClientCertificateMode) (*GetClientCertificateModeResponse, error)

	GetClientCertificateModeContext(ctx context.Context, request *GetClientCertificateMode) (*GetClientCertificateModeResponse, error)

	SetClientCertificateMode(request *SetClientCertificateMode) (*SetClientCertificateModeResponse, error)

	SetClientCertificateModeContext(ctx context.Context, request *SetClientCertificateMode) (*SetClientCertificateModeResponse, error)

	GetCACertificates(request *GetCACertificates) (*GetCACertificatesResponse, error)

	GetCACertificatesContext(ctx context.Context, request *GetCACertificates) (*GetCACertificatesResponse, error)

	LoadCertificateWithPrivateKey(request *LoadCertificateWithPrivateKey) (*LoadCertificateWithPrivateKeyResponse, error)

	LoadCertificateWithPrivateKeyContext(ctx context.Context, request *LoadCertificateWithPrivateKey) (*LoadCertificateWithPrivateKeyResponse, error)

	GetCertificateInformation(request *GetCertificateInformation) (*GetCertificateInformationResponse, error)

	GetCertificateInformationContext(ctx context.Context, request *GetCertificateInformation) (*GetCertificateInformationResponse, error)

	LoadCACertificates(request *LoadCACertificates) (*LoadCACertificatesResponse, error)

	LoadCACertificatesContext(ctx context.Context, request *LoadCACertificates) (*LoadCACertificatesResponse, error)

	CreateDot1XConfiguration(request *CreateDot1XConfiguration) (*CreateDot1XConfigurationResponse, error)

	CreateDot1XConfigurationContext(ctx context.Context, request *CreateDot1XConfiguration) (*CreateDot1XConfigurationResponse, error)

	SetDot1XConfiguration(request *SetDot1XConfiguration) (*SetDot1XConfigurationResponse, error)

	SetDot1XConfigurationContext(ctx context.Context, request *SetDot1XConfiguration) (*SetDot1XConfigurationResponse, error)

	GetDot1XConfiguration(request *GetDot1XConfiguration) (*GetDot1XConfigurationResponse, error)

	GetDot1XConfigurationContext(ctx context.Context, request *GetDot1XConfiguration) (*GetDot1XConfigurationResponse, error)

	GetDot1XConfigurations(request *GetDot1XConfigurations) (*GetDot1XConfigurationsResponse, error)

	GetDot1XConfigurationsContext(ctx context.Context, request *GetDot1XConfigurations) (*GetDot1XConfigurationsResponse, error)

	DeleteDot1XConfiguration(request *DeleteDot1XConfiguration) (*DeleteDot1XConfigurationResponse, error)

	DeleteDot1XConfigurationContext(ctx context.Context, request *DeleteDot1XConfiguration) (*DeleteDot1XConfigurationResponse, error)
}

func NewDevice

func NewDevice(client *soap.Client) Device

type DeviceServiceCapabilities

type DeviceServiceCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl Capabilities"`

	// Network capabilities.
	Network *NetworkCapabilities `xml:"Network,omitempty" json:"Network,omitempty"`

	// Security capabilities.
	Security *SecurityCapabilities `xml:"Security,omitempty" json:"Security,omitempty"`

	// System capabilities.
	System *SystemCapabilities `xml:"System,omitempty" json:"System,omitempty"`

	// Capabilities that do not fit in any of the other categories.
	Misc *MiscCapabilities `xml:"Misc,omitempty" json:"Misc,omitempty"`
}

type GetAccessPolicy

type GetAccessPolicy struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetAccessPolicy"`
}

type GetAccessPolicyResponse

type GetAccessPolicyResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetAccessPolicyResponse"`

	PolicyFile *onvif.BinaryData `xml:"PolicyFile,omitempty" json:"PolicyFile,omitempty"`
}

type GetAuthFailureWarningConfiguration

type GetAuthFailureWarningConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetAuthFailureWarningConfiguration"`
}

type GetAuthFailureWarningConfigurationResponse

type GetAuthFailureWarningConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetAuthFailureWarningConfigurationResponse"`

	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`

	MonitorPeriod int32 `xml:"MonitorPeriod,omitempty" json:"MonitorPeriod,omitempty"`

	MaxAuthFailures int32 `xml:"MaxAuthFailures,omitempty" json:"MaxAuthFailures,omitempty"`
}

type GetAuthFailureWarningOptions

type GetAuthFailureWarningOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetAuthFailureWarningOptions"`
}

type GetAuthFailureWarningOptionsResponse

type GetAuthFailureWarningOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetAuthFailureWarningOptionsResponse"`

	MonitorPeriodRange *onvif.IntRange `xml:"MonitorPeriodRange,omitempty" json:"MonitorPeriodRange,omitempty"`

	AuthFailureRange *onvif.IntRange `xml:"AuthFailureRange,omitempty" json:"AuthFailureRange,omitempty"`
}

type GetCACertificates

type GetCACertificates struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCACertificates"`
}

type GetCACertificatesResponse

type GetCACertificatesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCACertificatesResponse"`

	CACertificate []*onvif.Certificate `xml:"CACertificate,omitempty" json:"CACertificate,omitempty"`
}

type GetCapabilities

type GetCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCapabilities"`

	//
	// List of categories to retrieve capability information on.
	//
	Category []*onvif.CapabilityCategory `xml:"Category,omitempty" json:"Category,omitempty"`
}

type GetCapabilitiesResponse

type GetCapabilitiesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCapabilitiesResponse"`

	//
	// Capability information.
	//
	Capabilities *Capabilities `xml:"Capabilities,omitempty" json:"Capabilities,omitempty"`
}

type GetCertificateInformation

type GetCertificateInformation struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificateInformation"`

	CertificateID string `xml:"CertificateID,omitempty" json:"CertificateID,omitempty"`
}

type GetCertificateInformationResponse

type GetCertificateInformationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificateInformationResponse"`

	CertificateInformation *onvif.CertificateInformation `xml:"CertificateInformation,omitempty" json:"CertificateInformation,omitempty"`
}

type GetCertificates

type GetCertificates struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificates"`
}

type GetCertificatesResponse

type GetCertificatesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificatesResponse"`

	//
	// Id and base64 encoded DER representation of all available certificates.
	//
	NvtCertificate []*onvif.Certificate `xml:"NvtCertificate,omitempty" json:"NvtCertificate,omitempty"`
}

type GetCertificatesStatus

type GetCertificatesStatus struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificatesStatus"`
}

type GetCertificatesStatusResponse

type GetCertificatesStatusResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetCertificatesStatusResponse"`

	//
	// Indicates if a certificate is used in an optional HTTPS configuration of the device.
	//
	CertificateStatus []*onvif.CertificateStatus `xml:"CertificateStatus,omitempty" json:"CertificateStatus,omitempty"`
}

type GetClientCertificateMode

type GetClientCertificateMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetClientCertificateMode"`
}

type GetClientCertificateModeResponse

type GetClientCertificateModeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetClientCertificateModeResponse"`

	//
	// Indicates whether or not client certificates are required by device.
	//
	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`
}

type GetDNS

type GetDNS struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDNS"`
}

type GetDNSResponse

type GetDNSResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDNSResponse"`

	//
	// DNS information.
	//
	DNSInformation *onvif.DNSInformation `xml:"DNSInformation,omitempty" json:"DNSInformation,omitempty"`
}

type GetDPAddresses

type GetDPAddresses struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDPAddresses"`
}

type GetDPAddressesResponse

type GetDPAddressesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDPAddressesResponse"`

	DPAddress []*onvif.NetworkHost `xml:"DPAddress,omitempty" json:"DPAddress,omitempty"`
}

type GetDeviceInformation

type GetDeviceInformation struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDeviceInformation"`
}

type GetDeviceInformationResponse

type GetDeviceInformationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDeviceInformationResponse"`

	// The manufactor of the device.
	Manufacturer string `xml:"Manufacturer,omitempty" json:"Manufacturer,omitempty"`

	// The device model.
	Model string `xml:"Model,omitempty" json:"Model,omitempty"`

	// The firmware version in the device.
	FirmwareVersion string `xml:"FirmwareVersion,omitempty" json:"FirmwareVersion,omitempty"`

	// The serial number of the device.
	SerialNumber string `xml:"SerialNumber,omitempty" json:"SerialNumber,omitempty"`

	// The hardware ID of the device.
	HardwareId string `xml:"HardwareId,omitempty" json:"HardwareId,omitempty"`
}

type GetDiscoveryMode

type GetDiscoveryMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDiscoveryMode"`
}

type GetDiscoveryModeResponse

type GetDiscoveryModeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDiscoveryModeResponse"`

	//
	// Indicator of discovery mode: Discoverable, NonDiscoverable.
	//
	DiscoveryMode *onvif.DiscoveryMode `xml:"DiscoveryMode,omitempty" json:"DiscoveryMode,omitempty"`
}

type GetDot11Capabilities

type GetDot11Capabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot11Capabilities"`

	Items []string `xml:",any" json:"items,omitempty"`
}

type GetDot11CapabilitiesResponse

type GetDot11CapabilitiesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot11CapabilitiesResponse"`

	Capabilities *onvif.Dot11Capabilities `xml:"Capabilities,omitempty" json:"Capabilities,omitempty"`
}

type GetDot11Status

type GetDot11Status struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot11Status"`

	InterfaceToken *onvif.ReferenceToken `xml:"InterfaceToken,omitempty" json:"InterfaceToken,omitempty"`
}

type GetDot11StatusResponse

type GetDot11StatusResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot11StatusResponse"`

	Status *onvif.Dot11Status `xml:"Status,omitempty" json:"Status,omitempty"`
}

type GetDot1XConfiguration

type GetDot1XConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot1XConfiguration"`

	Dot1XConfigurationToken *onvif.ReferenceToken `xml:"Dot1XConfigurationToken,omitempty" json:"Dot1XConfigurationToken,omitempty"`
}

type GetDot1XConfigurationResponse

type GetDot1XConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot1XConfigurationResponse"`

	Dot1XConfiguration *onvif.Dot1XConfiguration `xml:"Dot1XConfiguration,omitempty" json:"Dot1XConfiguration,omitempty"`
}

type GetDot1XConfigurations

type GetDot1XConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot1XConfigurations"`
}

type GetDot1XConfigurationsResponse

type GetDot1XConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDot1XConfigurationsResponse"`

	Dot1XConfiguration []*onvif.Dot1XConfiguration `xml:"Dot1XConfiguration,omitempty" json:"Dot1XConfiguration,omitempty"`
}

type GetDynamicDNS

type GetDynamicDNS struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDynamicDNS"`
}

type GetDynamicDNSResponse

type GetDynamicDNSResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetDynamicDNSResponse"`

	//
	// Dynamic DNS information.
	//
	DynamicDNSInformation *onvif.DynamicDNSInformation `xml:"DynamicDNSInformation,omitempty" json:"DynamicDNSInformation,omitempty"`
}

type GetEndpointReference

type GetEndpointReference struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetEndpointReference"`
}

type GetEndpointReferenceResponse

type GetEndpointReferenceResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetEndpointReferenceResponse"`

	GUID string `xml:"GUID,omitempty" json:"GUID,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`
}

type GetGeoLocation

type GetGeoLocation struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetGeoLocation"`
}

type GetGeoLocationResponse

type GetGeoLocationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetGeoLocationResponse"`

	Location []*onvif.LocationEntity `xml:"Location,omitempty" json:"Location,omitempty"`
}

type GetHostname

type GetHostname struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetHostname"`
}

type GetHostnameResponse

type GetHostnameResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetHostnameResponse"`

	// Contains the hostname information.
	HostnameInformation *onvif.HostnameInformation `xml:"HostnameInformation,omitempty" json:"HostnameInformation,omitempty"`
}

type GetIPAddressFilter

type GetIPAddressFilter struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetIPAddressFilter"`
}

type GetIPAddressFilterResponse

type GetIPAddressFilterResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetIPAddressFilterResponse"`

	IPAddressFilter *onvif.IPAddressFilter `xml:"IPAddressFilter,omitempty" json:"IPAddressFilter,omitempty"`
}

type GetNTP

type GetNTP struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNTP"`
}

type GetNTPResponse

type GetNTPResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNTPResponse"`

	//
	// NTP information.
	//
	NTPInformation *onvif.NTPInformation `xml:"NTPInformation,omitempty" json:"NTPInformation,omitempty"`
}

type GetNetworkDefaultGateway

type GetNetworkDefaultGateway struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkDefaultGateway"`
}

type GetNetworkDefaultGatewayResponse

type GetNetworkDefaultGatewayResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkDefaultGatewayResponse"`

	// Gets the default IPv4 and IPv6 gateway settings from the device.
	NetworkGateway *onvif.NetworkGateway `xml:"NetworkGateway,omitempty" json:"NetworkGateway,omitempty"`
}

type GetNetworkInterfaces

type GetNetworkInterfaces struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkInterfaces"`
}

type GetNetworkInterfacesResponse

type GetNetworkInterfacesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkInterfacesResponse"`

	//
	// List of network interfaces.
	//
	NetworkInterfaces []*onvif.NetworkInterface `xml:"NetworkInterfaces,omitempty" json:"NetworkInterfaces,omitempty"`
}

type GetNetworkProtocols

type GetNetworkProtocols struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkProtocols"`
}

type GetNetworkProtocolsResponse

type GetNetworkProtocolsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetNetworkProtocolsResponse"`

	// Contains an array of defined protocols supported by the device. There are three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be retrieved for each protocol: port and enable/disable.
	NetworkProtocols []*onvif.NetworkProtocol `xml:"NetworkProtocols,omitempty" json:"NetworkProtocols,omitempty"`
}

type GetPasswordComplexityConfiguration

type GetPasswordComplexityConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPasswordComplexityConfiguration"`
}

type GetPasswordComplexityConfigurationResponse

type GetPasswordComplexityConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPasswordComplexityConfigurationResponse"`

	MinLen int32 `xml:"MinLen,omitempty" json:"MinLen,omitempty"`

	Uppercase int32 `xml:"Uppercase,omitempty" json:"Uppercase,omitempty"`

	Number int32 `xml:"Number,omitempty" json:"Number,omitempty"`

	SpecialChars int32 `xml:"SpecialChars,omitempty" json:"SpecialChars,omitempty"`

	BlockUsernameOccurrence bool `xml:"BlockUsernameOccurrence,omitempty" json:"BlockUsernameOccurrence,omitempty"`

	PolicyConfigurationLocked bool `xml:"PolicyConfigurationLocked,omitempty" json:"PolicyConfigurationLocked,omitempty"`
}

type GetPasswordComplexityOptions

type GetPasswordComplexityOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPasswordComplexityOptions"`
}

type GetPasswordComplexityOptionsResponse

type GetPasswordComplexityOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPasswordComplexityOptionsResponse"`

	MinLenRange *onvif.IntRange `xml:"MinLenRange,omitempty" json:"MinLenRange,omitempty"`

	UppercaseRange *onvif.IntRange `xml:"UppercaseRange,omitempty" json:"UppercaseRange,omitempty"`

	NumberRange *onvif.IntRange `xml:"NumberRange,omitempty" json:"NumberRange,omitempty"`

	SpecialCharsRange *onvif.IntRange `xml:"SpecialCharsRange,omitempty" json:"SpecialCharsRange,omitempty"`

	BlockUsernameOccurrenceSupported bool `xml:"BlockUsernameOccurrenceSupported,omitempty" json:"BlockUsernameOccurrenceSupported,omitempty"`

	PolicyConfigurationLockSupported bool `xml:"PolicyConfigurationLockSupported,omitempty" json:"PolicyConfigurationLockSupported,omitempty"`
}

type GetPasswordHistoryConfiguration

type GetPasswordHistoryConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPasswordHistoryConfiguration"`
}

type GetPasswordHistoryConfigurationResponse

type GetPasswordHistoryConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPasswordHistoryConfigurationResponse"`

	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`

	Length int32 `xml:"Length,omitempty" json:"Length,omitempty"`
}

type GetPkcs10Request

type GetPkcs10Request struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPkcs10Request"`

	//
	// List of ids of certificates to delete.
	//
	CertificateID string `xml:"CertificateID,omitempty" json:"CertificateID,omitempty"`

	//
	// Relative Dinstinguished Name(RDN) CommonName(CN).
	//
	Subject string `xml:"Subject,omitempty" json:"Subject,omitempty"`

	//
	// Optional base64 encoded DER attributes.
	//
	Attributes *onvif.BinaryData `xml:"Attributes,omitempty" json:"Attributes,omitempty"`
}

type GetPkcs10RequestResponse

type GetPkcs10RequestResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetPkcs10RequestResponse"`

	//
	// base64 encoded DER representation of certificate.
	//
	Pkcs10Request *onvif.BinaryData `xml:"Pkcs10Request,omitempty" json:"Pkcs10Request,omitempty"`
}

type GetRelayOutputs

type GetRelayOutputs struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRelayOutputs"`
}

type GetRelayOutputsResponse

type GetRelayOutputsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRelayOutputsResponse"`

	RelayOutputs []*onvif.RelayOutput `xml:"RelayOutputs,omitempty" json:"RelayOutputs,omitempty"`
}

type GetRemoteDiscoveryMode

type GetRemoteDiscoveryMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRemoteDiscoveryMode"`
}

type GetRemoteDiscoveryModeResponse

type GetRemoteDiscoveryModeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRemoteDiscoveryModeResponse"`

	//
	// Indicator of discovery mode: Discoverable, NonDiscoverable.
	//
	RemoteDiscoveryMode *onvif.DiscoveryMode `xml:"RemoteDiscoveryMode,omitempty" json:"RemoteDiscoveryMode,omitempty"`
}

type GetRemoteUser

type GetRemoteUser struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRemoteUser"`
}

type GetRemoteUserResponse

type GetRemoteUserResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetRemoteUserResponse"`

	RemoteUser *onvif.RemoteUser `xml:"RemoteUser,omitempty" json:"RemoteUser,omitempty"`
}

type GetScopes

type GetScopes struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetScopes"`
}

type GetScopesResponse

type GetScopesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetScopesResponse"`

	// Contains a list of URI definining the device scopes. Scope parameters can be of two types: fixed and configurable. Fixed parameters can not be altered.
	Scopes []*onvif.Scope `xml:"Scopes,omitempty" json:"Scopes,omitempty"`
}

type GetServiceCapabilities

type GetServiceCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetServiceCapabilities"`
}

type GetServiceCapabilitiesResponse

type GetServiceCapabilitiesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetServiceCapabilitiesResponse"`

	// The capabilities for the device service is returned in the Capabilities element.
	Capabilities *DeviceServiceCapabilities `xml:"Capabilities,omitempty" json:"Capabilities,omitempty"`
}

type GetServices

type GetServices struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetServices"`

	// Indicates if the service capabilities (untyped) should be included in the response.
	IncludeCapability bool `xml:"IncludeCapability,omitempty" json:"IncludeCapability,omitempty"`
}

type GetServicesResponse

type GetServicesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetServicesResponse"`

	// Each Service element contains information about one service.
	Service []*Service `xml:"Service,omitempty" json:"Service,omitempty"`
}

type GetStorageConfiguration

type GetStorageConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetStorageConfiguration"`

	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type GetStorageConfigurationResponse

type GetStorageConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetStorageConfigurationResponse"`

	StorageConfiguration *StorageConfiguration `xml:"StorageConfiguration,omitempty" json:"StorageConfiguration,omitempty"`
}

type GetStorageConfigurations

type GetStorageConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetStorageConfigurations"`
}

type GetStorageConfigurationsResponse

type GetStorageConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetStorageConfigurationsResponse"`

	StorageConfigurations []*StorageConfiguration `xml:"StorageConfigurations,omitempty" json:"StorageConfigurations,omitempty"`
}

type GetSystemBackup

type GetSystemBackup struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemBackup"`
}

type GetSystemBackupResponse

type GetSystemBackupResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemBackupResponse"`

	BackupFiles []*onvif.BackupFile `xml:"BackupFiles,omitempty" json:"BackupFiles,omitempty"`
}

type GetSystemDateAndTime

type GetSystemDateAndTime struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemDateAndTime"`
}

type GetSystemDateAndTimeResponse

type GetSystemDateAndTimeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemDateAndTimeResponse"`

	// Contains information whether system date and time are set manually or by NTP, daylight savings is on or off, time zone in POSIX 1003.1 format and system date and time in UTC and also local system date and time.
	SystemDateAndTime *onvif.SystemDateTime `xml:"SystemDateAndTime,omitempty" json:"SystemDateAndTime,omitempty"`
}

type GetSystemLog

type GetSystemLog struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemLog"`

	// Specifies the type of system log to get.
	LogType *onvif.SystemLogType `xml:"LogType,omitempty" json:"LogType,omitempty"`
}

type GetSystemLogResponse

type GetSystemLogResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemLogResponse"`

	// Contains the system log information.
	SystemLog *onvif.SystemLog `xml:"SystemLog,omitempty" json:"SystemLog,omitempty"`
}

type GetSystemSupportInformation

type GetSystemSupportInformation struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemSupportInformation"`
}

type GetSystemSupportInformationResponse

type GetSystemSupportInformationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemSupportInformationResponse"`

	// Contains the arbitary device diagnostics information.
	SupportInformation *onvif.SupportInformation `xml:"SupportInformation,omitempty" json:"SupportInformation,omitempty"`
}

type GetSystemUris

type GetSystemUris struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemUris"`
}

type GetSystemUrisResponse

type GetSystemUrisResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetSystemUrisResponse"`

	SystemLogUris *onvif.SystemLogUriList `xml:"SystemLogUris,omitempty" json:"SystemLogUris,omitempty"`

	SupportInfoUri xsd.AnyURI `xml:"SupportInfoUri,omitempty" json:"SupportInfoUri,omitempty"`

	SystemBackupUri xsd.AnyURI `xml:"SystemBackupUri,omitempty" json:"SystemBackupUri,omitempty"`

	Extension struct {
	} `xml:"Extension,omitempty" json:"Extension,omitempty"`
}

type GetUsers

type GetUsers struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetUsers"`
}

type GetUsersResponse

type GetUsersResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetUsersResponse"`

	// Contains a list of the onvif users and following information is included in each entry: username and user level.
	User []*onvif.User `xml:"User,omitempty" json:"User,omitempty"`
}

type GetWsdlUrl

type GetWsdlUrl struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetWsdlUrl"`
}

type GetWsdlUrlResponse

type GetWsdlUrlResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetWsdlUrlResponse"`

	WsdlUrl xsd.AnyURI `xml:"WsdlUrl,omitempty" json:"WsdlUrl,omitempty"`
}

type GetZeroConfiguration

type GetZeroConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetZeroConfiguration"`
}

type GetZeroConfigurationResponse

type GetZeroConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl GetZeroConfigurationResponse"`

	// Contains the zero-configuration.
	ZeroConfiguration *onvif.NetworkZeroConfiguration `xml:"ZeroConfiguration,omitempty" json:"ZeroConfiguration,omitempty"`
}

type LoadCACertificates

type LoadCACertificates struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCACertificates"`

	CACertificate []*onvif.Certificate `xml:"CACertificate,omitempty" json:"CACertificate,omitempty"`
}

type LoadCACertificatesResponse

type LoadCACertificatesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCACertificatesResponse"`
}

type LoadCertificateWithPrivateKey

type LoadCertificateWithPrivateKey struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCertificateWithPrivateKey"`

	CertificateWithPrivateKey []*onvif.CertificateWithPrivateKey `xml:"CertificateWithPrivateKey,omitempty" json:"CertificateWithPrivateKey,omitempty"`
}

type LoadCertificateWithPrivateKeyResponse

type LoadCertificateWithPrivateKeyResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCertificateWithPrivateKeyResponse"`
}

type LoadCertificates

type LoadCertificates struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCertificates"`

	//
	// Optional id and base64 encoded DER representation of certificate.
	//
	NVTCertificate []*onvif.Certificate `xml:"NVTCertificate,omitempty" json:"NVTCertificate,omitempty"`
}

type LoadCertificatesResponse

type LoadCertificatesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl LoadCertificatesResponse"`
}

type MiscCapabilities

type MiscCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl Misc"`

	AuxiliaryCommands *onvif.StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl AuxiliaryCommands,attr,omitempty" json:"AuxiliaryCommands,omitempty"`
}

type NetworkCapabilities

type NetworkCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl Network"`

	IPFilter bool `xml:"http://www.onvif.org/ver10/device/wsdl IPFilter,attr,omitempty" json:"IPFilter,omitempty"`

	ZeroConfiguration bool `xml:"http://www.onvif.org/ver10/device/wsdl ZeroConfiguration,attr,omitempty" json:"ZeroConfiguration,omitempty"`

	IPVersion6 bool `xml:"http://www.onvif.org/ver10/device/wsdl IPVersion6,attr,omitempty" json:"IPVersion6,omitempty"`

	DynDNS bool `xml:"http://www.onvif.org/ver10/device/wsdl DynDNS,attr,omitempty" json:"DynDNS,omitempty"`

	Dot11Configuration bool `xml:"http://www.onvif.org/ver10/device/wsdl Dot11Configuration,attr,omitempty" json:"Dot11Configuration,omitempty"`

	Dot1XConfigurations int32 `xml:"http://www.onvif.org/ver10/device/wsdl Dot1XConfigurations,attr,omitempty" json:"Dot1XConfigurations,omitempty"`

	HostnameFromDHCP bool `xml:"http://www.onvif.org/ver10/device/wsdl HostnameFromDHCP,attr,omitempty" json:"HostnameFromDHCP,omitempty"`

	NTP int32 `xml:"http://www.onvif.org/ver10/device/wsdl NTP,attr,omitempty" json:"NTP,omitempty"`

	DHCPv6 bool `xml:"http://www.onvif.org/ver10/device/wsdl DHCPv6,attr,omitempty" json:"DHCPv6,omitempty"`
}

type RemoveIPAddressFilter

type RemoveIPAddressFilter struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RemoveIPAddressFilter"`

	IPAddressFilter *onvif.IPAddressFilter `xml:"IPAddressFilter,omitempty" json:"IPAddressFilter,omitempty"`
}

type RemoveIPAddressFilterResponse

type RemoveIPAddressFilterResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RemoveIPAddressFilterResponse"`
}

type RemoveScopes

type RemoveScopes struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RemoveScopes"`

	// Contains a list of URIs that should be removed from the device scope.
	// Note that the response message always will match the request or an error will be returned. The use of the response is for that reason deprecated.
	//
	ScopeItem []xsd.AnyURI `xml:"ScopeItem,omitempty" json:"ScopeItem,omitempty"`
}

type RemoveScopesResponse

type RemoveScopesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RemoveScopesResponse"`

	// Contains a list of URIs that has been removed from the device scope
	ScopeItem []xsd.AnyURI `xml:"ScopeItem,omitempty" json:"ScopeItem,omitempty"`
}

type RestoreSystem

type RestoreSystem struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RestoreSystem"`

	BackupFiles []*onvif.BackupFile `xml:"BackupFiles,omitempty" json:"BackupFiles,omitempty"`
}

type RestoreSystemResponse

type RestoreSystemResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl RestoreSystemResponse"`
}

type ScanAvailableDot11Networks

type ScanAvailableDot11Networks struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl ScanAvailableDot11Networks"`

	InterfaceToken *onvif.ReferenceToken `xml:"InterfaceToken,omitempty" json:"InterfaceToken,omitempty"`
}

type ScanAvailableDot11NetworksResponse

type ScanAvailableDot11NetworksResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl ScanAvailableDot11NetworksResponse"`

	Networks []*onvif.Dot11AvailableNetworks `xml:"Networks,omitempty" json:"Networks,omitempty"`
}

type SecurityCapabilities

type SecurityCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl Security"`

	TLS1_0 bool `xml:"http://www.onvif.org/ver10/device/wsdl TLS1.0,attr,omitempty" json:"TLS1.0,omitempty"`

	TLS1_1 bool `xml:"http://www.onvif.org/ver10/device/wsdl TLS1.1,attr,omitempty" json:"TLS1.1,omitempty"`

	TLS1_2 bool `xml:"http://www.onvif.org/ver10/device/wsdl TLS1.2,attr,omitempty" json:"TLS1.2,omitempty"`

	OnboardKeyGeneration bool `xml:"http://www.onvif.org/ver10/device/wsdl OnboardKeyGeneration,attr,omitempty" json:"OnboardKeyGeneration,omitempty"`

	AccessPolicyConfig bool `xml:"http://www.onvif.org/ver10/device/wsdl AccessPolicyConfig,attr,omitempty" json:"AccessPolicyConfig,omitempty"`

	DefaultAccessPolicy bool `xml:"http://www.onvif.org/ver10/device/wsdl DefaultAccessPolicy,attr,omitempty" json:"DefaultAccessPolicy,omitempty"`

	Dot1X bool `xml:"http://www.onvif.org/ver10/device/wsdl Dot1X,attr,omitempty" json:"Dot1X,omitempty"`

	RemoteUserHandling bool `xml:"http://www.onvif.org/ver10/device/wsdl RemoteUserHandling,attr,omitempty" json:"RemoteUserHandling,omitempty"`

	X_509Token bool `xml:"http://www.onvif.org/ver10/device/wsdl X.509Token,attr,omitempty" json:"X.509Token,omitempty"`

	SAMLToken bool `xml:"http://www.onvif.org/ver10/device/wsdl SAMLToken,attr,omitempty" json:"SAMLToken,omitempty"`

	KerberosToken bool `xml:"http://www.onvif.org/ver10/device/wsdl KerberosToken,attr,omitempty" json:"KerberosToken,omitempty"`

	UsernameToken bool `xml:"http://www.onvif.org/ver10/device/wsdl UsernameToken,attr,omitempty" json:"UsernameToken,omitempty"`

	HttpDigest bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpDigest,attr,omitempty" json:"HttpDigest,omitempty"`

	RELToken bool `xml:"http://www.onvif.org/ver10/device/wsdl RELToken,attr,omitempty" json:"RELToken,omitempty"`

	SupportedEAPMethods *onvif.IntList `xml:"http://www.onvif.org/ver10/device/wsdl SupportedEAPMethods,attr,omitempty" json:"SupportedEAPMethods,omitempty"`

	MaxUsers int32 `xml:"http://www.onvif.org/ver10/device/wsdl MaxUsers,attr,omitempty" json:"MaxUsers,omitempty"`

	MaxUserNameLength int32 `xml:"http://www.onvif.org/ver10/device/wsdl MaxUserNameLength,attr,omitempty" json:"MaxUserNameLength,omitempty"`

	MaxPasswordLength int32 `xml:"http://www.onvif.org/ver10/device/wsdl MaxPasswordLength,attr,omitempty" json:"MaxPasswordLength,omitempty"`

	SecurityPolicies *onvif.StringList `xml:"http://www.onvif.org/ver10/device/wsdl SecurityPolicies,attr,omitempty" json:"SecurityPolicies,omitempty"`

	MaxPasswordHistory int32 `xml:"http://www.onvif.org/ver10/device/wsdl MaxPasswordHistory,attr,omitempty" json:"MaxPasswordHistory,omitempty"`

	HashingAlgorithms *onvif.StringList `xml:"http://www.onvif.org/ver10/device/wsdl HashingAlgorithms,attr,omitempty" json:"HashingAlgorithms,omitempty"`
}

type SendAuxiliaryCommand

type SendAuxiliaryCommand struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SendAuxiliaryCommand"`

	AuxiliaryCommand *onvif.AuxiliaryData `xml:"AuxiliaryCommand,omitempty" json:"AuxiliaryCommand,omitempty"`
}

type SendAuxiliaryCommandResponse

type SendAuxiliaryCommandResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SendAuxiliaryCommandResponse"`

	AuxiliaryCommandResponse *onvif.AuxiliaryData `xml:"AuxiliaryCommandResponse,omitempty" json:"AuxiliaryCommandResponse,omitempty"`
}

type Service

type Service struct {

	// Namespace of the service being described. This parameter allows to match the service capabilities to the service. Note that only one set of capabilities is supported per namespace.
	Namespace xsd.AnyURI `xml:"Namespace,omitempty" json:"Namespace,omitempty"`

	// The transport addresses where the service can be reached. The scheme and IP part shall match the one used in the request (i.e. the GetServices request).
	XAddr xsd.AnyURI `xml:"XAddr,omitempty" json:"XAddr,omitempty"`

	Capabilities struct {
	} `xml:"Capabilities,omitempty" json:"Capabilities,omitempty"`

	// The version of the service (not the ONVIF core spec version).
	Version *onvif.OnvifVersion `xml:"Version,omitempty" json:"Version,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`
}

type SetAccessPolicy

type SetAccessPolicy struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetAccessPolicy"`

	PolicyFile *onvif.BinaryData `xml:"PolicyFile,omitempty" json:"PolicyFile,omitempty"`
}

type SetAccessPolicyResponse

type SetAccessPolicyResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetAccessPolicyResponse"`
}

type SetAuthFailureWarningConfiguration

type SetAuthFailureWarningConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetAuthFailureWarningConfiguration"`

	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`

	MonitorPeriod int32 `xml:"MonitorPeriod,omitempty" json:"MonitorPeriod,omitempty"`

	MaxAuthFailures int32 `xml:"MaxAuthFailures,omitempty" json:"MaxAuthFailures,omitempty"`
}

type SetAuthFailureWarningConfigurationResponse

type SetAuthFailureWarningConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetAuthFailureWarningConfigurationResponse"`
}

type SetCertificatesStatus

type SetCertificatesStatus struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetCertificatesStatus"`

	//
	// Indicates if a certificate is to be used in an optional HTTPS configuration of the device.
	//
	CertificateStatus []*onvif.CertificateStatus `xml:"CertificateStatus,omitempty" json:"CertificateStatus,omitempty"`
}

type SetCertificatesStatusResponse

type SetCertificatesStatusResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetCertificatesStatusResponse"`
}

type SetClientCertificateMode

type SetClientCertificateMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetClientCertificateMode"`

	//
	// Indicates whether or not client certificates are required by device.
	//
	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`
}

type SetClientCertificateModeResponse

type SetClientCertificateModeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetClientCertificateModeResponse"`
}

type SetDNS

type SetDNS struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDNS"`

	//
	// Indicate if the DNS address is to be retrieved using DHCP.
	//
	FromDHCP bool `xml:"FromDHCP,omitempty" json:"FromDHCP,omitempty"`

	//
	// DNS search domain.
	//
	SearchDomain []string `xml:"SearchDomain,omitempty" json:"SearchDomain,omitempty"`

	//
	// DNS address(es) set manually.
	//
	DNSManual []*onvif.IPAddress `xml:"DNSManual,omitempty" json:"DNSManual,omitempty"`
}

type SetDNSResponse

type SetDNSResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDNSResponse"`
}

type SetDPAddresses

type SetDPAddresses struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDPAddresses"`

	DPAddress []*onvif.NetworkHost `xml:"DPAddress,omitempty" json:"DPAddress,omitempty"`
}

type SetDPAddressesResponse

type SetDPAddressesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDPAddressesResponse"`
}

type SetDiscoveryMode

type SetDiscoveryMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDiscoveryMode"`

	//
	// Indicator of discovery mode: Discoverable, NonDiscoverable.
	//
	DiscoveryMode *onvif.DiscoveryMode `xml:"DiscoveryMode,omitempty" json:"DiscoveryMode,omitempty"`
}

type SetDiscoveryModeResponse

type SetDiscoveryModeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDiscoveryModeResponse"`
}

type SetDot1XConfiguration

type SetDot1XConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDot1XConfiguration"`

	Dot1XConfiguration *onvif.Dot1XConfiguration `xml:"Dot1XConfiguration,omitempty" json:"Dot1XConfiguration,omitempty"`
}

type SetDot1XConfigurationResponse

type SetDot1XConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDot1XConfigurationResponse"`
}

type SetDynamicDNS

type SetDynamicDNS struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDynamicDNS"`

	//
	// Dynamic DNS type.
	//
	Type *onvif.DynamicDNSType `xml:"Type,omitempty" json:"Type,omitempty"`

	//
	// DNS name.
	//
	Name *onvif.DNSName `xml:"Name,omitempty" json:"Name,omitempty"`

	//
	// DNS record time to live.
	//
	TTL *xsd.Duration `xml:"TTL,omitempty" json:"TTL,omitempty"`
}

type SetDynamicDNSResponse

type SetDynamicDNSResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetDynamicDNSResponse"`
}

type SetGeoLocation

type SetGeoLocation struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetGeoLocation"`

	Location []*onvif.LocationEntity `xml:"Location,omitempty" json:"Location,omitempty"`
}

type SetGeoLocationResponse

type SetGeoLocationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetGeoLocationResponse"`
}

type SetHashingAlgorithm

type SetHashingAlgorithm struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHashingAlgorithm"`

	//
	// Hashing algorithm(s) used in HTTP and RTSP Digest Authentication.
	//
	Algorithm *onvif.StringList `xml:"Algorithm,omitempty" json:"Algorithm,omitempty"`
}

type SetHashingAlgorithmResponse

type SetHashingAlgorithmResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHashingAlgorithmResponse"`
}

type SetHostname

type SetHostname struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHostname"`

	// The hostname to set.
	Name string `xml:"Name,omitempty" json:"Name,omitempty"`
}

type SetHostnameFromDHCP

type SetHostnameFromDHCP struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHostnameFromDHCP"`

	// True if the hostname shall be obtained via DHCP.
	FromDHCP bool `xml:"FromDHCP,omitempty" json:"FromDHCP,omitempty"`
}

type SetHostnameFromDHCPResponse

type SetHostnameFromDHCPResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHostnameFromDHCPResponse"`

	//
	// Indicates whether or not a reboot is required after configuration updates.
	//
	RebootNeeded bool `xml:"RebootNeeded,omitempty" json:"RebootNeeded,omitempty"`
}

type SetHostnameResponse

type SetHostnameResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetHostnameResponse"`
}

type SetIPAddressFilter

type SetIPAddressFilter struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetIPAddressFilter"`

	IPAddressFilter *onvif.IPAddressFilter `xml:"IPAddressFilter,omitempty" json:"IPAddressFilter,omitempty"`
}

type SetIPAddressFilterResponse

type SetIPAddressFilterResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetIPAddressFilterResponse"`
}

type SetNTP

type SetNTP struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNTP"`

	//
	// Indicate if NTP address information is to be retrieved using DHCP.
	//
	FromDHCP bool `xml:"FromDHCP,omitempty" json:"FromDHCP,omitempty"`

	//
	// Manual NTP settings.
	//
	NTPManual []*onvif.NetworkHost `xml:"NTPManual,omitempty" json:"NTPManual,omitempty"`
}

type SetNTPResponse

type SetNTPResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNTPResponse"`
}

type SetNetworkDefaultGateway

type SetNetworkDefaultGateway struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkDefaultGateway"`

	// Sets IPv4 gateway address used as default setting.
	IPv4Address []*onvif.IPv4Address `xml:"IPv4Address,omitempty" json:"IPv4Address,omitempty"`

	// Sets IPv6 gateway address used as default setting.
	IPv6Address []*onvif.IPv6Address `xml:"IPv6Address,omitempty" json:"IPv6Address,omitempty"`
}

type SetNetworkDefaultGatewayResponse

type SetNetworkDefaultGatewayResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkDefaultGatewayResponse"`
}

type SetNetworkInterfaces

type SetNetworkInterfaces struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkInterfaces"`

	//
	// Symbolic network interface name.
	//
	InterfaceToken *onvif.ReferenceToken `xml:"InterfaceToken,omitempty" json:"InterfaceToken,omitempty"`

	//
	// Network interface name.
	//
	NetworkInterface *onvif.NetworkInterfaceSetConfiguration `xml:"NetworkInterface,omitempty" json:"NetworkInterface,omitempty"`
}

type SetNetworkInterfacesResponse

type SetNetworkInterfacesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkInterfacesResponse"`

	//
	// Indicates whether or not a reboot is required after configuration updates.
	// If a device responds with RebootNeeded set to false, the device can be reached
	// via the new IP address without further action. A client should be aware that a device
	// may not be responsive for a short period of time until it signals availability at
	// the new address via the discovery Hello messages.
	// If a device responds with RebootNeeded set to true, it will be further available under
	// its previous IP address. The settings will only be activated when the device is
	// rebooted via the SystemReboot command.
	//
	RebootNeeded bool `xml:"RebootNeeded,omitempty" json:"RebootNeeded,omitempty"`
}

type SetNetworkProtocols

type SetNetworkProtocols struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkProtocols"`

	// Configures one or more defined network protocols supported by the device. There are currently three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be set for each protocol: port and enable/disable.
	NetworkProtocols []*onvif.NetworkProtocol `xml:"NetworkProtocols,omitempty" json:"NetworkProtocols,omitempty"`
}

type SetNetworkProtocolsResponse

type SetNetworkProtocolsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetNetworkProtocolsResponse"`
}

type SetPasswordComplexityConfiguration

type SetPasswordComplexityConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetPasswordComplexityConfiguration"`

	MinLen int32 `xml:"MinLen,omitempty" json:"MinLen,omitempty"`

	Uppercase int32 `xml:"Uppercase,omitempty" json:"Uppercase,omitempty"`

	Number int32 `xml:"Number,omitempty" json:"Number,omitempty"`

	SpecialChars int32 `xml:"SpecialChars,omitempty" json:"SpecialChars,omitempty"`

	BlockUsernameOccurrence bool `xml:"BlockUsernameOccurrence,omitempty" json:"BlockUsernameOccurrence,omitempty"`

	PolicyConfigurationLocked bool `xml:"PolicyConfigurationLocked,omitempty" json:"PolicyConfigurationLocked,omitempty"`
}

type SetPasswordComplexityConfigurationResponse

type SetPasswordComplexityConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetPasswordComplexityConfigurationResponse"`
}

type SetPasswordHistoryConfiguration

type SetPasswordHistoryConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetPasswordHistoryConfiguration"`

	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`

	Length int32 `xml:"Length,omitempty" json:"Length,omitempty"`
}

type SetPasswordHistoryConfigurationResponse

type SetPasswordHistoryConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetPasswordHistoryConfigurationResponse"`
}

type SetRelayOutputSettings

type SetRelayOutputSettings struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRelayOutputSettings"`

	RelayOutputToken *onvif.ReferenceToken `xml:"RelayOutputToken,omitempty" json:"RelayOutputToken,omitempty"`

	Properties *onvif.RelayOutputSettings `xml:"Properties,omitempty" json:"Properties,omitempty"`
}

type SetRelayOutputSettingsResponse

type SetRelayOutputSettingsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRelayOutputSettingsResponse"`
}

type SetRelayOutputState

type SetRelayOutputState struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRelayOutputState"`

	RelayOutputToken *onvif.ReferenceToken `xml:"RelayOutputToken,omitempty" json:"RelayOutputToken,omitempty"`

	LogicalState *onvif.RelayLogicalState `xml:"LogicalState,omitempty" json:"LogicalState,omitempty"`
}

type SetRelayOutputStateResponse

type SetRelayOutputStateResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRelayOutputStateResponse"`
}

type SetRemoteDiscoveryMode

type SetRemoteDiscoveryMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRemoteDiscoveryMode"`

	//
	// Indicator of discovery mode: Discoverable, NonDiscoverable.
	//
	RemoteDiscoveryMode *onvif.DiscoveryMode `xml:"RemoteDiscoveryMode,omitempty" json:"RemoteDiscoveryMode,omitempty"`
}

type SetRemoteDiscoveryModeResponse

type SetRemoteDiscoveryModeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRemoteDiscoveryModeResponse"`
}

type SetRemoteUser

type SetRemoteUser struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRemoteUser"`

	RemoteUser *onvif.RemoteUser `xml:"RemoteUser,omitempty" json:"RemoteUser,omitempty"`
}

type SetRemoteUserResponse

type SetRemoteUserResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetRemoteUserResponse"`
}

type SetScopes

type SetScopes struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetScopes"`

	// Contains a list of scope parameters that will replace all existing configurable scope parameters.
	Scopes []xsd.AnyURI `xml:"Scopes,omitempty" json:"Scopes,omitempty"`
}

type SetScopesResponse

type SetScopesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetScopesResponse"`
}

type SetStorageConfiguration

type SetStorageConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetStorageConfiguration"`

	StorageConfiguration *StorageConfiguration `xml:"StorageConfiguration,omitempty" json:"StorageConfiguration,omitempty"`
}

type SetStorageConfigurationResponse

type SetStorageConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetStorageConfigurationResponse"`
}

type SetSystemDateAndTime

type SetSystemDateAndTime struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetSystemDateAndTime"`

	// Defines if the date and time is set via NTP or manually.
	DateTimeType *onvif.SetDateTimeType `xml:"DateTimeType,omitempty" json:"DateTimeType,omitempty"`

	// Automatically adjust Daylight savings if defined in TimeZone.
	DaylightSavings bool `xml:"DaylightSavings,omitempty" json:"DaylightSavings,omitempty"`

	// The time zone in POSIX 1003.1 format
	TimeZone *onvif.TimeZone `xml:"TimeZone,omitempty" json:"TimeZone,omitempty"`

	// Date and time in UTC. If time is obtained via NTP, UTCDateTime has no meaning
	UTCDateTime soap.XSDDateTime `xml:"UTCDateTime,omitempty" json:"UTCDateTime,omitempty"`
}

type SetSystemDateAndTimeResponse

type SetSystemDateAndTimeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetSystemDateAndTimeResponse"`
}

type SetSystemFactoryDefault

type SetSystemFactoryDefault struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetSystemFactoryDefault"`

	// Specifies the factory default action type.
	FactoryDefault *onvif.FactoryDefaultType `xml:"FactoryDefault,omitempty" json:"FactoryDefault,omitempty"`
}

type SetSystemFactoryDefaultResponse

type SetSystemFactoryDefaultResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetSystemFactoryDefaultResponse"`
}

type SetUser

type SetUser struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetUser"`

	// Updates the credentials for one or several users on an device. Either all change requests are processed successfully or a fault message MUST be returned. If the request contains the same username multiple times, a fault message is returned.
	User []*onvif.User `xml:"User,omitempty" json:"User,omitempty"`
}

type SetUserResponse

type SetUserResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetUserResponse"`
}

type SetZeroConfiguration

type SetZeroConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetZeroConfiguration"`

	// Unique identifier referencing the physical interface.
	InterfaceToken *onvif.ReferenceToken `xml:"InterfaceToken,omitempty" json:"InterfaceToken,omitempty"`

	// Specifies if the zero-configuration should be enabled or not.
	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`
}

type SetZeroConfigurationResponse

type SetZeroConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SetZeroConfigurationResponse"`
}

type StartFirmwareUpgrade

type StartFirmwareUpgrade struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl StartFirmwareUpgrade"`
}

type StartFirmwareUpgradeResponse

type StartFirmwareUpgradeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl StartFirmwareUpgradeResponse"`

	UploadUri xsd.AnyURI `xml:"UploadUri,omitempty" json:"UploadUri,omitempty"`

	UploadDelay *xsd.Duration `xml:"UploadDelay,omitempty" json:"UploadDelay,omitempty"`

	ExpectedDownTime *xsd.Duration `xml:"ExpectedDownTime,omitempty" json:"ExpectedDownTime,omitempty"`
}

type StartSystemRestore

type StartSystemRestore struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl StartSystemRestore"`
}

type StartSystemRestoreResponse

type StartSystemRestoreResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl StartSystemRestoreResponse"`

	UploadUri xsd.AnyURI `xml:"UploadUri,omitempty" json:"UploadUri,omitempty"`

	ExpectedDownTime *xsd.Duration `xml:"ExpectedDownTime,omitempty" json:"ExpectedDownTime,omitempty"`
}

type StorageConfiguration

type StorageConfiguration struct {
	*onvif.DeviceEntity

	Data *StorageConfigurationData `xml:"Data,omitempty" json:"Data,omitempty"`
}

type StorageConfigurationData

type StorageConfigurationData struct {

	// local path
	LocalPath xsd.AnyURI `xml:"LocalPath,omitempty" json:"LocalPath,omitempty"`

	// Storage server address
	StorageUri xsd.AnyURI `xml:"StorageUri,omitempty" json:"StorageUri,omitempty"`

	// User credential for the storage server
	User *UserCredential `xml:"User,omitempty" json:"User,omitempty"`

	Extension struct {
	} `xml:"Extension,omitempty" json:"Extension,omitempty"`

	Type string `xml:"http://www.onvif.org/ver10/device/wsdl type,attr,omitempty" json:"type,omitempty"`
}

type StorageType

type StorageType string
const (

	// NFS protocol
	StorageTypeNFS StorageType = "NFS"

	// CIFS protocol
	StorageTypeCIFS StorageType = "CIFS"

	// CDMI protocol
	StorageTypeCDMI StorageType = "CDMI"

	// FTP protocol
	StorageTypeFTP StorageType = "FTP"
)

type SystemCapabilities

type SystemCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl System"`

	DiscoveryResolve bool `xml:"http://www.onvif.org/ver10/device/wsdl DiscoveryResolve,attr,omitempty" json:"DiscoveryResolve,omitempty"`

	DiscoveryBye bool `xml:"http://www.onvif.org/ver10/device/wsdl DiscoveryBye,attr,omitempty" json:"DiscoveryBye,omitempty"`

	RemoteDiscovery bool `xml:"http://www.onvif.org/ver10/device/wsdl RemoteDiscovery,attr,omitempty" json:"RemoteDiscovery,omitempty"`

	SystemBackup bool `xml:"http://www.onvif.org/ver10/device/wsdl SystemBackup,attr,omitempty" json:"SystemBackup,omitempty"`

	SystemLogging bool `xml:"http://www.onvif.org/ver10/device/wsdl SystemLogging,attr,omitempty" json:"SystemLogging,omitempty"`

	FirmwareUpgrade bool `xml:"http://www.onvif.org/ver10/device/wsdl FirmwareUpgrade,attr,omitempty" json:"FirmwareUpgrade,omitempty"`

	HttpFirmwareUpgrade bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpFirmwareUpgrade,attr,omitempty" json:"HttpFirmwareUpgrade,omitempty"`

	HttpSystemBackup bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSystemBackup,attr,omitempty" json:"HttpSystemBackup,omitempty"`

	HttpSystemLogging bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSystemLogging,attr,omitempty" json:"HttpSystemLogging,omitempty"`

	HttpSupportInformation bool `xml:"http://www.onvif.org/ver10/device/wsdl HttpSupportInformation,attr,omitempty" json:"HttpSupportInformation,omitempty"`

	StorageConfiguration bool `xml:"http://www.onvif.org/ver10/device/wsdl StorageConfiguration,attr,omitempty" json:"StorageConfiguration,omitempty"`

	MaxStorageConfigurations int32 `` /* 126-byte string literal not displayed */

	GeoLocationEntries int32 `xml:"http://www.onvif.org/ver10/device/wsdl GeoLocationEntries,attr,omitempty" json:"GeoLocationEntries,omitempty"`

	AutoGeo *onvif.StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl AutoGeo,attr,omitempty" json:"AutoGeo,omitempty"`

	StorageTypesSupported *onvif.StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl StorageTypesSupported,attr,omitempty" json:"StorageTypesSupported,omitempty"`

	DiscoveryNotSupported bool `xml:"http://www.onvif.org/ver10/device/wsdl DiscoveryNotSupported,attr,omitempty" json:"DiscoveryNotSupported,omitempty"`

	NetworkConfigNotSupported bool `` /* 128-byte string literal not displayed */

	UserConfigNotSupported bool `xml:"http://www.onvif.org/ver10/device/wsdl UserConfigNotSupported,attr,omitempty" json:"UserConfigNotSupported,omitempty"`

	Addons *onvif.StringAttrList `xml:"http://www.onvif.org/ver10/device/wsdl Addons,attr,omitempty" json:"Addons,omitempty"`
}

type SystemReboot

type SystemReboot struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SystemReboot"`
}

type SystemRebootResponse

type SystemRebootResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl SystemRebootResponse"`

	// Contains the reboot message sent by the device.
	Message string `xml:"Message,omitempty" json:"Message,omitempty"`
}

type UpgradeSystemFirmware

type UpgradeSystemFirmware struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl UpgradeSystemFirmware"`

	Firmware *onvif.AttachmentData `xml:"Firmware,omitempty" json:"Firmware,omitempty"`
}

type UpgradeSystemFirmwareResponse

type UpgradeSystemFirmwareResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl UpgradeSystemFirmwareResponse"`

	Message string `xml:"Message,omitempty" json:"Message,omitempty"`
}

type UserCredential

type UserCredential struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver10/device/wsdl User"`

	// User name
	UserName string `xml:"UserName,omitempty" json:"UserName,omitempty"`

	// optional password
	Password string `xml:"Password,omitempty" json:"Password,omitempty"`

	Extension struct {
	} `xml:"Extension,omitempty" json:"Extension,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL