ONVIF::...uration(3)

πŸ“¦ version 1.38.6, in nixpkgs unstable

πŸ’… 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 how PanTilt => , and Zoom => , 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