279 lines
7.7 KiB
Go
279 lines
7.7 KiB
Go
package ptz
|
|
|
|
import (
|
|
"git.pyer.club/kingecg/goonvif/onvif/xsd"
|
|
"git.pyer.club/kingecg/goonvif/onvif/xsd/onvif"
|
|
)
|
|
|
|
type Capabilities struct {
|
|
EFlip xsd.Boolean `xml:"EFlip,attr"`
|
|
Reverse xsd.Boolean `xml:"Reverse,attr"`
|
|
GetCompatibleConfigurations xsd.Boolean `xml:"GetCompatibleConfigurations,attr"`
|
|
MoveStatus xsd.Boolean `xml:"MoveStatus,attr"`
|
|
StatusPosition xsd.Boolean `xml:"StatusPosition,attr"`
|
|
}
|
|
|
|
//PTZ main types
|
|
|
|
type GetServiceCapabilities struct {
|
|
XMLName string `xml:"tptz:GetServiceCapabilities"`
|
|
}
|
|
|
|
type GetServiceCapabilitiesResponse struct {
|
|
Capabilities Capabilities
|
|
}
|
|
|
|
type GetNodes struct {
|
|
XMLName string `xml:"tptz:GetNodes"`
|
|
}
|
|
|
|
type GetNodesResponse struct {
|
|
PTZNode []onvif.PTZNode
|
|
}
|
|
|
|
type GetNode struct {
|
|
XMLName string `xml:"tptz:GetNode"`
|
|
NodeToken onvif.ReferenceToken `xml:"tptz:NodeToken"`
|
|
}
|
|
|
|
type GetNodeResponse struct {
|
|
PTZNode onvif.PTZNode
|
|
}
|
|
|
|
type GetConfiguration struct {
|
|
XMLName string `xml:"tptz:GetConfiguration"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type GetConfigurationResponse struct {
|
|
PTZConfiguration onvif.PTZConfiguration
|
|
}
|
|
|
|
type GetConfigurations struct {
|
|
XMLName string `xml:"tptz:GetConfigurations"`
|
|
}
|
|
|
|
type GetConfigurationsResponse struct {
|
|
PTZConfiguration onvif.PTZConfiguration
|
|
}
|
|
|
|
type SetConfiguration struct {
|
|
XMLName string `xml:"tptz:SetConfiguration"`
|
|
PTZConfiguration onvif.PTZConfiguration `xml:"tptz:PTZConfiguration"`
|
|
ForcePersistence xsd.Boolean `xml:"tptz:ForcePersistence"`
|
|
}
|
|
|
|
type SetConfigurationResponse struct {
|
|
}
|
|
|
|
type GetConfigurationOptions struct {
|
|
XMLName string `xml:"tptz:GetConfigurationOptions"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type GetConfigurationOptionsResponse struct {
|
|
PTZConfigurationOptions onvif.PTZConfigurationOptions
|
|
}
|
|
|
|
type SendAuxiliaryCommand struct {
|
|
XMLName string `xml:"tptz:SendAuxiliaryCommand"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
AuxiliaryData onvif.AuxiliaryData `xml:"tptz:AuxiliaryData"`
|
|
}
|
|
|
|
type SendAuxiliaryCommandResponse struct {
|
|
AuxiliaryResponse onvif.AuxiliaryData
|
|
}
|
|
|
|
type GetPresets struct {
|
|
XMLName string `xml:"tptz:GetPresets"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type GetPresetsResponse struct {
|
|
Preset []onvif.PTZPreset
|
|
}
|
|
|
|
type SetPreset struct {
|
|
XMLName string `xml:"tptz:SetPreset"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetName xsd.String `xml:"tptz:PresetName"`
|
|
PresetToken onvif.ReferenceToken `xml:"tptz:PresetToken,omitempty"`
|
|
}
|
|
|
|
type SetPresetResponse struct {
|
|
PresetToken onvif.ReferenceToken
|
|
}
|
|
|
|
type RemovePreset struct {
|
|
XMLName string `xml:"tptz:RemovePreset"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetToken onvif.ReferenceToken `xml:"tptz:PresetToken"`
|
|
}
|
|
|
|
type RemovePresetResponse struct {
|
|
}
|
|
|
|
type GotoPreset struct {
|
|
XMLName string `xml:"tptz:GotoPreset"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetToken onvif.ReferenceToken `xml:"tptz:PresetToken"`
|
|
Speed onvif.PTZSpeed `xml:"tptz:Speed"`
|
|
}
|
|
|
|
type GotoPresetResponse struct {
|
|
}
|
|
|
|
type GotoHomePosition struct {
|
|
XMLName string `xml:"tptz:GotoHomePosition"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
Speed onvif.PTZSpeed `xml:"tptz:Speed"`
|
|
}
|
|
|
|
type GotoHomePositionResponse struct {
|
|
}
|
|
|
|
type SetHomePosition struct {
|
|
XMLName string `xml:"tptz:SetHomePosition"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type SetHomePositionResponse struct {
|
|
}
|
|
|
|
type ContinuousMove struct {
|
|
XMLName string `xml:"tptz:ContinuousMove"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
Velocity onvif.PTZSpeed `xml:"tptz:Velocity"`
|
|
Timeout xsd.Duration `xml:"tptz:Timeout"`
|
|
}
|
|
|
|
type ContinuousMoveResponse struct {
|
|
}
|
|
|
|
type RelativeMove struct {
|
|
XMLName string `xml:"tptz:RelativeMove"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
Translation onvif.PTZVector `xml:"tptz:Translation"`
|
|
Speed onvif.PTZSpeed `xml:"tptz:Speed"`
|
|
}
|
|
|
|
type RelativeMoveResponse struct {
|
|
}
|
|
|
|
type GetStatus struct {
|
|
XMLName string `xml:"tptz:GetStatus"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type GetStatusResponse struct {
|
|
PTZStatus onvif.PTZStatus
|
|
}
|
|
|
|
type AbsoluteMove struct {
|
|
XMLName string `xml:"tptz:AbsoluteMove"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
Position onvif.PTZVector `xml:"tptz:Position"`
|
|
Speed onvif.PTZSpeed `xml:"tptz:Speed"`
|
|
}
|
|
|
|
type AbsoluteMoveResponse struct {
|
|
}
|
|
|
|
type GeoMove struct {
|
|
XMLName string `xml:"tptz:GeoMove"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
Target onvif.GeoLocation `xml:"tptz:Target"`
|
|
Speed onvif.PTZSpeed `xml:"tptz:Speed"`
|
|
AreaHeight xsd.Float `xml:"tptz:AreaHeight"`
|
|
AreaWidth xsd.Float `xml:"tptz:AreaWidth"`
|
|
}
|
|
|
|
type GeoMoveResponse struct {
|
|
}
|
|
|
|
type Stop struct {
|
|
XMLName string `xml:"tptz:Stop"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PanTilt xsd.Boolean `xml:"tptz:PanTilt"`
|
|
Zoom xsd.Boolean `xml:"tptz:Zoom"`
|
|
}
|
|
|
|
type StopResponse struct {
|
|
}
|
|
|
|
type GetPresetTours struct {
|
|
XMLName string `xml:"tptz:GetPresetTours"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type GetPresetToursResponse struct {
|
|
PresetTour onvif.PresetTour
|
|
}
|
|
|
|
type GetPresetTour struct {
|
|
XMLName string `xml:"tptz:GetPresetTour"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetTourToken onvif.ReferenceToken `xml:"tptz:PresetTourToken"`
|
|
}
|
|
|
|
type GetPresetTourResponse struct {
|
|
PresetTour onvif.PresetTour
|
|
}
|
|
|
|
type GetPresetTourOptions struct {
|
|
XMLName string `xml:"tptz:GetPresetTourOptions"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetTourToken onvif.ReferenceToken `xml:"tptz:PresetTourToken"`
|
|
}
|
|
|
|
type GetPresetTourOptionsResponse struct {
|
|
Options onvif.PTZPresetTourOptions
|
|
}
|
|
|
|
type CreatePresetTour struct {
|
|
XMLName string `xml:"tptz:CreatePresetTour"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type CreatePresetTourResponse struct {
|
|
PresetTourToken onvif.ReferenceToken
|
|
}
|
|
|
|
type ModifyPresetTour struct {
|
|
XMLName string `xml:"tptz:ModifyPresetTour"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetTour onvif.PresetTour `xml:"tptz:PresetTour"`
|
|
}
|
|
|
|
type ModifyPresetTourResponse struct {
|
|
}
|
|
|
|
type OperatePresetTour struct {
|
|
XMLName string `xml:"tptz:OperatePresetTour"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetTourToken onvif.ReferenceToken `xml:"onvif:PresetTourToken"`
|
|
Operation onvif.PTZPresetTourOperation `xml:"onvif:Operation"`
|
|
}
|
|
|
|
type OperatePresetTourResponse struct {
|
|
}
|
|
|
|
type RemovePresetTour struct {
|
|
XMLName string `xml:"tptz:RemovePresetTour"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
PresetTourToken onvif.ReferenceToken `xml:"tptz:PresetTourToken"`
|
|
}
|
|
|
|
type RemovePresetTourResponse struct {
|
|
}
|
|
|
|
type GetCompatibleConfigurations struct {
|
|
XMLName string `xml:"tptz:GetCompatibleConfigurations"`
|
|
ProfileToken onvif.ReferenceToken `xml:"tptz:ProfileToken"`
|
|
}
|
|
|
|
type GetCompatibleConfigurationsResponse struct {
|
|
PTZConfiguration onvif.PTZConfiguration
|
|
}
|