wsdl

package
v0.0.30 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: MIT Imports: 5 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AbsoluteMove

type AbsoluteMove struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl AbsoluteMove" json:"-"`

	// A reference to the MediaProfile.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A Position vector specifying the absolute target position.
	//
	Position *tt.PTZVector `xml:"Position,omitempty" json:"Position,omitempty"`

	// An optional Speed.
	//
	Speed *tt.PTZSpeed `xml:"Speed,omitempty" json:"Speed,omitempty"`
}

type AbsoluteMoveResponse

type AbsoluteMoveResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl AbsoluteMoveResponse" json:"-"`
}

type Capabilities

type Capabilities struct {
	Items []string `xml:",any" json:"items,omitempty"`

	EFlip bool `xml:"EFlip,attr,omitempty" json:"EFlip,omitempty"`

	Reverse bool `xml:"Reverse,attr,omitempty" json:"Reverse,omitempty"`

	GetCompatibleConfigurations bool `xml:"GetCompatibleConfigurations,attr,omitempty" json:"GetCompatibleConfigurations,omitempty"`

	MoveStatus bool `xml:"MoveStatus,attr,omitempty" json:"MoveStatus,omitempty"`

	StatusPosition bool `xml:"StatusPosition,attr,omitempty" json:"StatusPosition,omitempty"`

	MoveAndTrack *tt.StringList `xml:"MoveAndTrack,attr,omitempty" json:"MoveAndTrack,omitempty"`
}

type ContinuousMove

type ContinuousMove struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl ContinuousMove" json:"-"`

	// A reference to the MediaProfile.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A Velocity vector specifying the velocity of pan, tilt and zoom.
	//
	Velocity *tt.PTZSpeed `xml:"Velocity,omitempty" json:"Velocity,omitempty"`

	// An optional Timeout parameter.
	//
	Timeout string `xml:"Timeout,omitempty" json:"Timeout,omitempty"`
}

type ContinuousMoveResponse

type ContinuousMoveResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl ContinuousMoveResponse" json:"-"`
}

type CreatePresetTour

type CreatePresetTour struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl CreatePresetTour" json:"-"`

	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type CreatePresetTourResponse

type CreatePresetTourResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl CreatePresetTourResponse" json:"-"`

	PresetTourToken *tt.ReferenceToken `xml:"PresetTourToken,omitempty" json:"PresetTourToken,omitempty"`
}

type GeoMove

type GeoMove struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GeoMove" json:"-"`

	// A reference to the MediaProfile.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// The geolocation of the target position.
	//
	Target *tt.GeoLocation `xml:"Target,omitempty" json:"Target,omitempty"`

	// An optional Speed.
	//
	Speed *tt.PTZSpeed `xml:"Speed,omitempty" json:"Speed,omitempty"`

	// An optional indication of the height of the target/area.
	//
	AreaHeight float32 `xml:"AreaHeight,omitempty" json:"AreaHeight,omitempty"`

	// An optional indication of the width of the target/area.
	//
	AreaWidth float32 `xml:"AreaWidth,omitempty" json:"AreaWidth,omitempty"`
}

type GeoMoveResponse

type GeoMoveResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GeoMoveResponse" json:"-"`
}

type GetCompatibleConfigurations

type GetCompatibleConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetCompatibleConfigurations" json:"-"`

	// Contains the token of an existing media profile the configurations shall be compatible with.
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type GetCompatibleConfigurationsResponse

type GetCompatibleConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetCompatibleConfigurationsResponse" json:"-"`

	// A list of all existing PTZConfigurations on the NVT that is suitable to be added to the addressed media profile.
	//
	PTZConfiguration []*tt.PTZConfiguration `xml:"PTZConfiguration,omitempty" json:"PTZConfiguration,omitempty"`
}

type GetConfiguration

type GetConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfiguration" json:"-"`

	// Token of the requested PTZConfiguration.
	//
	PTZConfigurationToken *tt.ReferenceToken `xml:"PTZConfigurationToken,omitempty" json:"PTZConfigurationToken,omitempty"`
}

type GetConfigurationOptions

type GetConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfigurationOptions" json:"-"`

	// Token of an existing configuration that the options are intended for.
	//
	ConfigurationToken *tt.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`
}

type GetConfigurationOptionsResponse

type GetConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfigurationOptionsResponse" json:"-"`

	// The requested PTZ configuration options.
	//
	PTZConfigurationOptions *tt.PTZConfigurationOptions `xml:"PTZConfigurationOptions,omitempty" json:"PTZConfigurationOptions,omitempty"`
}

type GetConfigurationResponse

type GetConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfigurationResponse" json:"-"`

	// A requested PTZConfiguration.
	//
	PTZConfiguration *tt.PTZConfiguration `xml:"PTZConfiguration,omitempty" json:"PTZConfiguration,omitempty"`
}

type GetConfigurations

type GetConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfigurations" json:"-"`
}

type GetConfigurationsResponse

type GetConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetConfigurationsResponse" json:"-"`

	// A list of all existing PTZConfigurations on the device.
	//
	PTZConfiguration []*tt.PTZConfiguration `xml:"PTZConfiguration,omitempty" json:"PTZConfiguration,omitempty"`
}

type GetNode

type GetNode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetNode" json:"-"`

	// Token of the requested PTZNode.
	//
	NodeToken *tt.ReferenceToken `xml:"NodeToken,omitempty" json:"NodeToken,omitempty"`
}

type GetNodeResponse

type GetNodeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetNodeResponse" json:"-"`

	// A requested PTZNode.
	//
	PTZNode *tt.PTZNode `xml:"PTZNode,omitempty" json:"PTZNode,omitempty"`
}

type GetNodes

type GetNodes struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetNodes" json:"-"`
}

type GetNodesResponse

type GetNodesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetNodesResponse" json:"-"`

	// A list of the existing PTZ Nodes on the device.
	//
	PTZNode []*tt.PTZNode `xml:"PTZNode,omitempty" json:"PTZNode,omitempty"`
}

type GetPresetTour

type GetPresetTour struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTour" json:"-"`

	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	PresetTourToken *tt.ReferenceToken `xml:"PresetTourToken,omitempty" json:"PresetTourToken,omitempty"`
}

type GetPresetTourOptions

type GetPresetTourOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTourOptions" json:"-"`

	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	PresetTourToken *tt.ReferenceToken `xml:"PresetTourToken,omitempty" json:"PresetTourToken,omitempty"`
}

type GetPresetTourOptionsResponse

type GetPresetTourOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTourOptionsResponse" json:"-"`

	Options *tt.PTZPresetTourOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetPresetTourResponse

type GetPresetTourResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTourResponse" json:"-"`

	PresetTour *tt.PresetTour `xml:"PresetTour,omitempty" json:"PresetTour,omitempty"`
}

type GetPresetTours

type GetPresetTours struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetTours" json:"-"`

	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type GetPresetToursResponse

type GetPresetToursResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetToursResponse" json:"-"`

	PresetTour []*tt.PresetTour `xml:"PresetTour,omitempty" json:"PresetTour,omitempty"`
}

type GetPresets

type GetPresets struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresets" json:"-"`

	// A reference to the MediaProfile where the operation should take place.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type GetPresetsResponse

type GetPresetsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetPresetsResponse" json:"-"`

	// A list of presets which are available for the requested MediaProfile.
	//
	Preset []*tt.PTZPreset `xml:"Preset,omitempty" json:"Preset,omitempty"`
}

type GetServiceCapabilities

type GetServiceCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetServiceCapabilities" json:"-"`
}

type GetServiceCapabilitiesResponse

type GetServiceCapabilitiesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetServiceCapabilitiesResponse" json:"-"`

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

type GetStatus

type GetStatus struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetStatus" json:"-"`

	// A reference to the MediaProfile where the PTZStatus should be requested.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type GetStatusResponse

type GetStatusResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GetStatusResponse" json:"-"`

	// The PTZStatus for the requested MediaProfile.
	//
	PTZStatus *tt.PTZStatus `xml:"PTZStatus,omitempty" json:"PTZStatus,omitempty"`
}

type GotoHomePosition

type GotoHomePosition struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GotoHomePosition" json:"-"`

	// A reference to the MediaProfile where the operation should take place.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A requested speed.The speed parameter can only be specified when Speed Spaces are available for the PTZ Node.
	//
	Speed *tt.PTZSpeed `xml:"Speed,omitempty" json:"Speed,omitempty"`
}

type GotoHomePositionResponse

type GotoHomePositionResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GotoHomePositionResponse" json:"-"`
}

type GotoPreset

type GotoPreset struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GotoPreset" json:"-"`

	// A reference to the MediaProfile where the operation should take place.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A requested preset token.
	//
	PresetToken *tt.ReferenceToken `xml:"PresetToken,omitempty" json:"PresetToken,omitempty"`

	// A requested speed.The speed parameter can only be specified when Speed Spaces are available for the PTZ Node.
	//
	Speed *tt.PTZSpeed `xml:"Speed,omitempty" json:"Speed,omitempty"`
}

type GotoPresetResponse

type GotoPresetResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl GotoPresetResponse" json:"-"`
}

type ModifyPresetTour

type ModifyPresetTour struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl ModifyPresetTour" json:"-"`

	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	PresetTour *tt.PresetTour `xml:"PresetTour,omitempty" json:"PresetTour,omitempty"`
}

type ModifyPresetTourResponse

type ModifyPresetTourResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl ModifyPresetTourResponse" json:"-"`
}

type MoveAndStartTracking

type MoveAndStartTracking struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl MoveAndStartTracking" json:"-"`

	// A reference to the MediaProfile where the operation should take place.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A preset token.
	//
	PresetToken *tt.ReferenceToken `xml:"PresetToken,omitempty" json:"PresetToken,omitempty"`

	// The geolocation of the target position.
	//
	GeoLocation *tt.GeoLocation `xml:"GeoLocation,omitempty" json:"GeoLocation,omitempty"`

	// A Position vector specifying the absolute target position.
	//
	TargetPosition *tt.PTZVector `xml:"TargetPosition,omitempty" json:"TargetPosition,omitempty"`

	// Speed vector specifying the velocity of pan, tilt and zoom.
	//
	Speed *tt.PTZSpeed `xml:"Speed,omitempty" json:"Speed,omitempty"`

	// Object ID of the object to track.
	//
	ObjectID int32 `xml:"ObjectID,omitempty" json:"ObjectID,omitempty"`

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

type MoveAndStartTrackingResponse

type MoveAndStartTrackingResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl MoveAndStartTrackingResponse" json:"-"`
}

type OperatePresetTour

type OperatePresetTour struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl OperatePresetTour" json:"-"`

	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	PresetTourToken *tt.ReferenceToken `xml:"PresetTourToken,omitempty" json:"PresetTourToken,omitempty"`

	Operation *tt.PTZPresetTourOperation `xml:"Operation,omitempty" json:"Operation,omitempty"`
}

type OperatePresetTourResponse

type OperatePresetTourResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl OperatePresetTourResponse" json:"-"`
}

type PTZ

type PTZ interface {

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

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

	/*
		Get the descriptions of the available PTZ Nodes.

		A PTZ-capable device may have multiple PTZ Nodes. The PTZ Nodes may represent
		mechanical PTZ drivers, uploaded PTZ drivers or digital PTZ drivers. PTZ Nodes are the
		lowest level entities in the PTZ control API and reflect the supported PTZ capabilities. The
		PTZ Node is referenced either by its name or by its reference token.
	*/
	GetNodes(request *GetNodes) (*GetNodesResponse, error)

	GetNodesContext(ctx context.Context, request *GetNodes) (*GetNodesResponse, error)

	/* Get a specific PTZ Node identified by a reference
	   token or a name.
	*/
	GetNode(request *GetNode) (*GetNodeResponse, error)

	GetNodeContext(ctx context.Context, request *GetNode) (*GetNodeResponse, error)

	/* Get a specific PTZconfiguration from the device, identified by its reference token or name.

	The default Position/Translation/Velocity Spaces are introduced to allow NVCs sending move
	requests without the need to specify a certain coordinate system. The default Speeds are
	introduced to control the speed of move requests (absolute, relative, preset), where no
	explicit speed has been set.
	The allowed pan and tilt range for Pan/Tilt Limits is defined by a two-dimensional space range
	that is mapped to a specific Absolute Pan/Tilt Position Space. At least one Pan/Tilt Position
	Space is required by the PTZNode to support Pan/Tilt limits. The limits apply to all supported
	absolute, relative and continuous Pan/Tilt movements. The limits shall be checked within the
	coordinate system for which the limits have been specified. That means that even if
	movements are specified in a different coordinate system, the requested movements shall be
	transformed to the coordinate system of the limits where the limits can be checked. When a
	relative or continuous movements is specified, which would leave the specified limits, the PTZ
	unit has to move along the specified limits. The Zoom Limits have to be interpreted
	accordingly.
	*/
	GetConfiguration(request *GetConfiguration) (*GetConfigurationResponse, error)

	GetConfigurationContext(ctx context.Context, request *GetConfiguration) (*GetConfigurationResponse, error)

	/*
		        Get all the existing PTZConfigurations from the device.

				The default Position/Translation/Velocity Spaces are introduced to allow NVCs sending move
				requests without the need to specify a certain coordinate system. The default Speeds are
				introduced to control the speed of move requests (absolute, relative, preset), where no
				explicit speed has been set.
				The allowed pan and tilt range for Pan/Tilt Limits is defined by a two-dimensional space range
				that is mapped to a specific Absolute Pan/Tilt Position Space. At least one Pan/Tilt Position
				Space is required by the PTZNode to support Pan/Tilt limits. The limits apply to all supported
				absolute, relative and continuous Pan/Tilt movements. The limits shall be checked within the
				coordinate system for which the limits have been specified. That means that even if
				movements are specified in a different coordinate system, the requested movements shall be
				transformed to the coordinate system of the limits where the limits can be checked. When a
				relative or continuous movements is specified, which would leave the specified limits, the PTZ
				unit has to move along the specified limits. The Zoom Limits have to be interpreted
				accordingly.
	*/
	GetConfigurations(request *GetConfigurations) (*GetConfigurationsResponse, error)

	GetConfigurationsContext(ctx context.Context, request *GetConfigurations) (*GetConfigurationsResponse, error)

	/*
	   Set/update a existing PTZConfiguration on the device.
	*/
	SetConfiguration(request *SetConfiguration) (*SetConfigurationResponse, error)

	SetConfigurationContext(ctx context.Context, request *SetConfiguration) (*SetConfigurationResponse, error)

	/*
		List supported coordinate systems including their range limitations. Therefore, the options
		MAY differ depending on whether the PTZ Configuration is assigned to a Profile containing a
		Video Source Configuration. In that case, the options may additionally contain coordinate
		systems referring to the image coordinate system described by the Video Source
		Configuration. If the PTZ Node supports continuous movements, it shall return a Timeout Range within
		which Timeouts are accepted by the PTZ Node.
	*/
	GetConfigurationOptions(request *GetConfigurationOptions) (*GetConfigurationOptionsResponse, error)

	GetConfigurationOptionsContext(ctx context.Context, request *GetConfigurationOptions) (*GetConfigurationOptionsResponse, error)

	/*
	   Operation to send auxiliary commands to the PTZ device
	   mapped by the PTZNode in the selected profile. The
	   operation is supported
	   if the AuxiliarySupported element of the PTZNode is true
	*/
	SendAuxiliaryCommand(request *SendAuxiliaryCommand) (*SendAuxiliaryCommandResponse, error)

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

	/*
	   Operation to request all PTZ presets for the PTZNode
	   in the selected profile. The operation is supported if there is support
	   for at least on PTZ preset by the PTZNode. */
	GetPresets(request *GetPresets) (*GetPresetsResponse, error)

	GetPresetsContext(ctx context.Context, request *GetPresets) (*GetPresetsResponse, error)

	/*
		The SetPreset command saves the current device position parameters so that the device can
		move to the saved preset position through the GotoPreset operation.
		In order to create a new preset, the SetPresetRequest contains no PresetToken. If creation is
		successful, the Response contains the PresetToken which uniquely identifies the Preset. An
		existing Preset can be overwritten by specifying the PresetToken of the corresponding Preset.
		In both cases (overwriting or creation) an optional PresetName can be specified. The
		operation fails if the PTZ device is moving during the SetPreset operation.
		The device MAY internally save additional states such as imaging properties in the PTZ
		Preset which then should be recalled in the GotoPreset operation.       */
	SetPreset(request *SetPreset) (*SetPresetResponse, error)

	SetPresetContext(ctx context.Context, request *SetPreset) (*SetPresetResponse, error)

	/*
	   Operation to remove a PTZ preset for the Node in
	   the
	   selected profile. The operation is supported if the
	   PresetPosition
	   capability exists for teh Node in the
	   selected profile.
	*/
	RemovePreset(request *RemovePreset) (*RemovePresetResponse, error)

	RemovePresetContext(ctx context.Context, request *RemovePreset) (*RemovePresetResponse, error)

	/*
	   Operation to go to a saved preset position for the
	   PTZNode in the selected profile. The operation is supported if there is
	   support for at least on PTZ preset by the PTZNode. */
	GotoPreset(request *GotoPreset) (*GotoPresetResponse, error)

	GotoPresetContext(ctx context.Context, request *GotoPreset) (*GotoPresetResponse, error)

	/*
	   Operation to move the PTZ device to it's "home" position. The operation is supported if the HomeSupported element in the PTZNode is true. */
	GotoHomePosition(request *GotoHomePosition) (*GotoHomePositionResponse, error)

	GotoHomePositionContext(ctx context.Context, request *GotoHomePosition) (*GotoHomePositionResponse, error)

	/* Operation to save current position as the home position.
	The SetHomePosition command returns with a failure if the “home” position is fixed and
	cannot be overwritten. If the SetHomePosition is successful, it is possible to recall the
	Home Position with the GotoHomePosition command. */
	SetHomePosition(request *SetHomePosition) (*SetHomePositionResponse, error)

	SetHomePositionContext(ctx context.Context, request *SetHomePosition) (*SetHomePositionResponse, error)

	/* Operation for continuous Pan/Tilt and Zoom movements. The operation is supported if the PTZNode supports at least one continuous Pan/Tilt or Zoom space. If the space argument is omitted, the default space set by the PTZConfiguration will be used. */
	ContinuousMove(request *ContinuousMove) (*ContinuousMoveResponse, error)

	ContinuousMoveContext(ctx context.Context, request *ContinuousMove) (*ContinuousMoveResponse, error)

	/* Operation for Relative Pan/Tilt and Zoom Move. The operation is supported if the PTZNode supports at least one relative Pan/Tilt or Zoom space.
	The speed argument is optional. If an x/y speed value is given it is up to the device to either use
	the x value as absolute resoluting speed vector or to map x and y to the component speed.
	If the speed argument is omitted, the default speed set by the PTZConfiguration will be used.
	*/
	RelativeMove(request *RelativeMove) (*RelativeMoveResponse, error)

	RelativeMoveContext(ctx context.Context, request *RelativeMove) (*RelativeMoveResponse, error)

	/*
		Operation to request PTZ status for the Node in the
		selected profile. */
	GetStatus(request *GetStatus) (*GetStatusResponse, error)

	GetStatusContext(ctx context.Context, request *GetStatus) (*GetStatusResponse, error)

	/* Operation to move pan,tilt or zoom to a absolute destination.
	The speed argument is optional. If an x/y speed value is given it is up to the device to either use
	the x value as absolute resoluting speed vector or to map x and y to the component speed.
	If the speed argument is omitted, the default speed set by the PTZConfiguration will be used.
	*/
	AbsoluteMove(request *AbsoluteMove) (*AbsoluteMoveResponse, error)

	AbsoluteMoveContext(ctx context.Context, request *AbsoluteMove) (*AbsoluteMoveResponse, error)

	/* Operation to move pan,tilt or zoom to point to a destination based on the geolocation of the target.
	The speed argument is optional. If an x/y speed value is given it is up to the device to either use
	the x value as absolute resoluting speed vector or to map x and y to the component speed.
	If the speed argument is omitted, the default speed set by the PTZConfiguration will be used.
	The area height and area dwidth parameters are optional, they can be used independently and may be used
	by the device to automatically determine the best zoom level to show the target.
	*/
	GeoMove(request *GeoMove) (*GeoMoveResponse, error)

	GeoMoveContext(ctx context.Context, request *GeoMove) (*GeoMoveResponse, error)

	/* Operation to stop ongoing pan, tilt and zoom movements of absolute relative and continuous type.
	If no stop argument for pan, tilt or zoom is set, the device will stop all ongoing pan, tilt and zoom movements. */
	Stop(request *Stop) (*StopResponse, error)

	StopContext(ctx context.Context, request *Stop) (*StopResponse, error)

	/* Operation to request PTZ preset tours in the selected media profiles. */
	GetPresetTours(request *GetPresetTours) (*GetPresetToursResponse, error)

	GetPresetToursContext(ctx context.Context, request *GetPresetTours) (*GetPresetToursResponse, error)

	/* Operation to request a specific PTZ preset tour in the selected media profile. */
	GetPresetTour(request *GetPresetTour) (*GetPresetTourResponse, error)

	GetPresetTourContext(ctx context.Context, request *GetPresetTour) (*GetPresetTourResponse, error)

	/* Operation to request available options to configure PTZ preset tour. */
	GetPresetTourOptions(request *GetPresetTourOptions) (*GetPresetTourOptionsResponse, error)

	GetPresetTourOptionsContext(ctx context.Context, request *GetPresetTourOptions) (*GetPresetTourOptionsResponse, error)

	/* Operation to create a preset tour for the selected media profile. */
	CreatePresetTour(request *CreatePresetTour) (*CreatePresetTourResponse, error)

	CreatePresetTourContext(ctx context.Context, request *CreatePresetTour) (*CreatePresetTourResponse, error)

	/* Operation to modify a preset tour for the selected media profile. */
	ModifyPresetTour(request *ModifyPresetTour) (*ModifyPresetTourResponse, error)

	ModifyPresetTourContext(ctx context.Context, request *ModifyPresetTour) (*ModifyPresetTourResponse, error)

	/* Operation to perform specific operation on the preset tour in selected media profile. */
	OperatePresetTour(request *OperatePresetTour) (*OperatePresetTourResponse, error)

	OperatePresetTourContext(ctx context.Context, request *OperatePresetTour) (*OperatePresetTourResponse, error)

	/* Operation to delete a specific preset tour from the media profile. */
	RemovePresetTour(request *RemovePresetTour) (*RemovePresetTourResponse, error)

	RemovePresetTourContext(ctx context.Context, request *RemovePresetTour) (*RemovePresetTourResponse, error)

	/* Operation to get all available PTZConfigurations that can be added to the referenced media profile.
	A device providing more than one PTZConfiguration or more than one VideoSourceConfiguration or which has any other resource
	interdependency between PTZConfiguration entities and other resources listable in a media profile should implement this operation.
	PTZConfiguration entities returned by this operation shall not fail on adding them to the referenced media profile.
	*/
	GetCompatibleConfigurations(request *GetCompatibleConfigurations) (*GetCompatibleConfigurationsResponse, error)

	GetCompatibleConfigurationsContext(ctx context.Context, request *GetCompatibleConfigurations) (*GetCompatibleConfigurationsResponse, error)

	/* Operation to send an an atomic command to the device: move the camera to a wanted position and then delegate the PTZ control to the tracking algorithm.
	   An existing Speed argument overrides DefaultSpeed of the corresponding PTZ configuration during movement to the requested position.
	   If spaces are referenced within the Speed argument, they shall be speed spaces supported by the PTZ node.
	   If the detection and the tracking are done in the same device, an ObjectID reference can be passed as an argument, in order to specify which object should be tracked.
	   The operation shall fail if the requested absolute position is not reachable.
	*/
	MoveAndStartTracking(request *MoveAndStartTracking) (*MoveAndStartTrackingResponse, error)

	MoveAndStartTrackingContext(ctx context.Context, request *MoveAndStartTracking) (*MoveAndStartTrackingResponse, error)
}

func NewPTZ

func NewPTZ(client *soap.Client) PTZ

type RelativeMove

type RelativeMove struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RelativeMove" json:"-"`

	// A reference to the MediaProfile.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A positional Translation relative to the current position
	//
	Translation *tt.PTZVector `xml:"Translation,omitempty" json:"Translation,omitempty"`

	// An optional Speed parameter.
	//
	Speed *tt.PTZSpeed `xml:"Speed,omitempty" json:"Speed,omitempty"`
}

type RelativeMoveResponse

type RelativeMoveResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RelativeMoveResponse" json:"-"`
}

type RemovePreset

type RemovePreset struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RemovePreset" json:"-"`

	// A reference to the MediaProfile where the operation should take place.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A requested preset token.
	//
	PresetToken *tt.ReferenceToken `xml:"PresetToken,omitempty" json:"PresetToken,omitempty"`
}

type RemovePresetResponse

type RemovePresetResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RemovePresetResponse" json:"-"`
}

type RemovePresetTour

type RemovePresetTour struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RemovePresetTour" json:"-"`

	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	PresetTourToken *tt.ReferenceToken `xml:"PresetTourToken,omitempty" json:"PresetTourToken,omitempty"`
}

type RemovePresetTourResponse

type RemovePresetTourResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl RemovePresetTourResponse" json:"-"`
}

type SendAuxiliaryCommand

type SendAuxiliaryCommand struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SendAuxiliaryCommand" json:"-"`

	// A reference to the MediaProfile where the operation should take place.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// The Auxiliary request data.
	//
	AuxiliaryData *tt.AuxiliaryData `xml:"AuxiliaryData,omitempty" json:"AuxiliaryData,omitempty"`
}

type SendAuxiliaryCommandResponse

type SendAuxiliaryCommandResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SendAuxiliaryCommandResponse" json:"-"`

	// The response contains the auxiliary response.
	//
	AuxiliaryResponse *tt.AuxiliaryData `xml:"AuxiliaryResponse,omitempty" json:"AuxiliaryResponse,omitempty"`
}

type SetConfiguration

type SetConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetConfiguration" json:"-"`

	PTZConfiguration *tt.PTZConfiguration `xml:"PTZConfiguration,omitempty" json:"PTZConfiguration,omitempty"`

	// Flag that makes configuration persistent. Example: User wants the configuration to exist after reboot.
	//
	ForcePersistence bool `xml:"ForcePersistence,omitempty" json:"ForcePersistence,omitempty"`
}

type SetConfigurationResponse

type SetConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetConfigurationResponse" json:"-"`
}

type SetHomePosition

type SetHomePosition struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetHomePosition" json:"-"`

	// A reference to the MediaProfile where the home position should be set.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type SetHomePositionResponse

type SetHomePositionResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetHomePositionResponse" json:"-"`
}

type SetPreset

type SetPreset struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetPreset" json:"-"`

	// A reference to the MediaProfile where the operation should take place.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// A requested preset name.
	//
	PresetName string `xml:"PresetName,omitempty" json:"PresetName,omitempty"`

	// A requested preset token.
	//
	PresetToken *tt.ReferenceToken `xml:"PresetToken,omitempty" json:"PresetToken,omitempty"`
}

type SetPresetResponse

type SetPresetResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl SetPresetResponse" json:"-"`

	// A token to the Preset which has been set.
	//
	PresetToken *tt.ReferenceToken `xml:"PresetToken,omitempty" json:"PresetToken,omitempty"`
}

type Stop

type Stop struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl Stop" json:"-"`

	// A reference to the MediaProfile that indicate what should be stopped.
	//
	ProfileToken *tt.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// Set true when we want to stop ongoing pan and tilt movements.If PanTilt arguments are not present, this command stops these movements.
	//
	PanTilt bool `xml:"PanTilt,omitempty" json:"PanTilt,omitempty"`

	// Set true when we want to stop ongoing zoom movement.If Zoom arguments are not present, this command stops ongoing zoom movement.
	//
	Zoom bool `xml:"Zoom,omitempty" json:"Zoom,omitempty"`
}

type StopResponse

type StopResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/ptz/wsdl StopResponse" json:"-"`
}

Jump to

Keyboard shortcuts

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