ONVIF::...uration(3)
π ONVIF::PTZ::Elements::PTZConfiguration
okay bestie, gather round, because this one is from the User Contributed Perl Documentation and it's a whole little legend. The page everyone calls ONVIF::...uration(3) is really ONVIF::PTZ::Elements::PTZConfiguration and she's living her best life in the PTZ namespace π
β¨ NAME β¨
ONVIF::PTZ::Elements::PTZConfiguration β say it with your chest, it's giving main character energy π
πΈ DESCRIPTION πΈ
So basically: this is a Perl data type class for the XML Schema defined element PTZConfiguration, and it comes straight out of the namespace http://www.onvif.org/ver10/schema. That's it, that's the vibe. It's a class that knows how to be that element, no cap π¦
π«Ά METHODS π«Ά
π new
my $element = ONVIF::PTZ::Elements::PTZConfiguration->new($data);
It's the constructor, obvi. You hand it $data and it makes you an element. And here's the data structure you may pass to new() β literally all of it, we do not gatekeep here π
{ # ONVIF::PTZ::Types::PTZConfiguration
NodeToken => $some_value, # ReferenceToken
DefaultAbsolutePantTiltPositionSpace => $some_value, # anyURI
DefaultAbsoluteZoomPositionSpace => $some_value, # anyURI
DefaultRelativePanTiltTranslationSpace => $some_value, # anyURI
DefaultRelativeZoomTranslationSpace => $some_value, # anyURI
DefaultContinuousPanTiltVelocitySpace => $some_value, # anyURI
DefaultContinuousZoomVelocitySpace => $some_value, # anyURI
DefaultPTZSpeed => { # ONVIF::PTZ::Types::PTZSpeed
PanTilt => ,
Zoom => ,
},
DefaultPTZTimeout => $some_value, # duration
PanTiltLimits => { # ONVIF::PTZ::Types::PanTiltLimits
Range => { # ONVIF::PTZ::Types::Space2DDescription
URI => $some_value, # anyURI
XRange => { # ONVIF::PTZ::Types::FloatRange
Min => $some_value, # float
Max => $some_value, # float
},
YRange => { # ONVIF::PTZ::Types::FloatRange
Min => $some_value, # float
Max => $some_value, # float
},
},
},
ZoomLimits => { # ONVIF::PTZ::Types::ZoomLimits
Range => { # ONVIF::PTZ::Types::Space1DDescription
URI => $some_value, # anyURI
XRange => { # ONVIF::PTZ::Types::FloatRange
Min => $some_value, # float
Max => $some_value, # float
},
},
},
Extension => { # ONVIF::PTZ::Types::PTZConfigurationExtension
PTControlDirection => { # ONVIF::PTZ::Types::PTControlDirection
EFlip => { # ONVIF::PTZ::Types::EFlip
Mode => $some_value, # EFlipMode
},
Reverse => { # ONVIF::PTZ::Types::Reverse
Mode => $some_value, # ReverseMode
},
Extension => { # ONVIF::PTZ::Types::PTControlDirectionExtension
},
},
Extension => { # ONVIF::PTZ::Types::PTZConfigurationExtension2
},
},
},
Like, look at that nesting. The Extension inside the Extension inside the... it's giving inception, it's giving "we heard you like extensions so we put an extension in your extension" π But fr fr it's all there β every key, every $some_value, every type comment, every # anyURI, # float, # duration, # EFlipMode, # ReverseMode, # ReferenceToken. Don't skip a single one, bestie, iykyk π
lowkey obsessed with howPanTilt => ,andZoom => ,are just sitting there empty. iconic. no notes. slay β¨
π AUTHOR π
Generated by SOAP::WSDL β that's the icon that birthed this whole thing, we stan π§
okay that's the whole page, you ate that π and for the credits at the very end: this beauty is riding on perl v5.42.3 and the date on it is 1980-01-01 (yes, the same date as always, don't @ me π). bye bestie, go build some PTZ configs πβπ
π¦ where this page comes from
- nixpkgs unstable: zoneminder 1.38.6
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms