ONVIF:...lities(3pm)

πŸ“¦
version 1.36.37 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

okay so this is ONVIF::Device::Types::Capabilities β€” it's a Perl data type class, and it's lowkey the whole Capabilities complexType from the ONVIF schema namespace, living in ONVIF::Device::Types. bestie it's giving "big master list of everything a device can do" energy and honestly? iconic. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so basically: this is a Perl data type class for the XML Schema defined complexType Capabilities, from the namespace http://www.onvif.org/ver10/schema.

that's it. that's the whole vibe. it's a Perl class that mirrors a chunk of ONVIF's XML schema so you can build and read that structure without manually crying over XML. 🫢

🌸 PROPERTIES 🌸

these are the properties you can get and set β€” and the way you do that is with the get_PROPERTY / set_PROPERTY methods. (replace PROPERTY with the actual property name, iykyk.) πŸ’…

  • Analytics
  • Device
  • Events
  • Imaging
  • Media
  • PTZ
  • Extension

that's seven properties, no cap, all of them listed. βœ…


✨ METHODS ✨

πŸŽ€ new πŸŽ€

Constructor! it makes you a shiny new object. and here's the tea β€” the data structure you can pass to new() looks exactly like this, so don't freestyle it, copy the shape:

{ # ONVIF::Device::Types::Capabilities
  Analytics =>  { # ONVIF::Device::Types::AnalyticsCapabilities
    XAddr =>  $some_value, # anyURI
    RuleSupport =>  $some_value, # boolean
    AnalyticsModuleSupport =>  $some_value, # boolean
  },
  Device =>  { # ONVIF::Device::Types::DeviceCapabilities
    XAddr =>  $some_value, # anyURI
    Network =>  { # ONVIF::Device::Types::NetworkCapabilities
      IPFilter =>  $some_value, # boolean
      ZeroConfiguration =>  $some_value, # boolean
      IPVersion6 =>  $some_value, # boolean
      DynDNS =>  $some_value, # boolean
      Extension =>  { # ONVIF::Device::Types::NetworkCapabilitiesExtension
        Dot11Configuration =>  $some_value, # boolean
        Extension =>  { # ONVIF::Device::Types::NetworkCapabilitiesExtension2
        },
      },
    },
    System =>  { # ONVIF::Device::Types::SystemCapabilities
      DiscoveryResolve =>  $some_value, # boolean
      DiscoveryBye =>  $some_value, # boolean
      RemoteDiscovery =>  $some_value, # boolean
      SystemBackup =>  $some_value, # boolean
      SystemLogging =>  $some_value, # boolean
      FirmwareUpgrade =>  $some_value, # boolean
      SupportedVersions =>  { # ONVIF::Device::Types::OnvifVersion
        Major =>  $some_value, # int
        Minor =>  $some_value, # int
      },
      Extension =>  { # ONVIF::Device::Types::SystemCapabilitiesExtension
        HttpFirmwareUpgrade =>  $some_value, # boolean
        HttpSystemBackup =>  $some_value, # boolean
        HttpSystemLogging =>  $some_value, # boolean
        HttpSupportInformation =>  $some_value, # boolean
        Extension =>  { # ONVIF::Device::Types::SystemCapabilitiesExtension2
        },
      },
    },
    IO =>  { # ONVIF::Device::Types::IOCapabilities
      InputConnectors =>  $some_value, # int
      RelayOutputs =>  $some_value, # int
      Extension =>  { # ONVIF::Device::Types::IOCapabilitiesExtension
        Auxiliary =>  $some_value, # boolean
        AuxiliaryCommands => $some_value, # AuxiliaryData
        Extension =>  { # ONVIF::Device::Types::IOCapabilitiesExtension2
        },
      },
    },
    Security =>  { # ONVIF::Device::Types::SecurityCapabilities
      TLS1__1 =>  $some_value, # boolean
      TLS1__2 =>  $some_value, # boolean
      OnboardKeyGeneration =>  $some_value, # boolean
      AccessPolicyConfig =>  $some_value, # boolean
      X__509Token =>  $some_value, # boolean
      SAMLToken =>  $some_value, # boolean
      KerberosToken =>  $some_value, # boolean
      RELToken =>  $some_value, # boolean
      Extension =>  { # ONVIF::Device::Types::SecurityCapabilitiesExtension
        TLS1__0 =>  $some_value, # boolean
        Extension =>  { # ONVIF::Device::Types::SecurityCapabilitiesExtension2
          Dot1X =>  $some_value, # boolean
          SupportedEAPMethod =>  $some_value, # int
          RemoteUserHandling =>  $some_value, # boolean
        },
      },
    },
    Extension =>  { # ONVIF::Device::Types::DeviceCapabilitiesExtension
    },
  },
  Events =>  { # ONVIF::Device::Types::EventCapabilities
    XAddr =>  $some_value, # anyURI
    WSSubscriptionPolicySupport =>  $some_value, # boolean
    WSPullPointSupport =>  $some_value, # boolean
    WSPausableSubscriptionManagerInterfaceSupport =>  $some_value, # boolean
  },
  Imaging =>  { # ONVIF::Device::Types::ImagingCapabilities
    XAddr =>  $some_value, # anyURI
  },
  Media =>  { # ONVIF::Device::Types::MediaCapabilities
    XAddr =>  $some_value, # anyURI
    StreamingCapabilities =>  { # ONVIF::Device::Types::RealTimeStreamingCapabilities
      RTPMulticast =>  $some_value, # boolean
      RTP_TCP =>  $some_value, # boolean
      RTP_RTSP_TCP =>  $some_value, # boolean
      Extension =>  { # ONVIF::Device::Types::RealTimeStreamingCapabilitiesExtension
      },
    },
    Extension =>  { # ONVIF::Device::Types::MediaCapabilitiesExtension
      ProfileCapabilities =>  { # ONVIF::Device::Types::ProfileCapabilities
        MaximumNumberOfProfiles =>  $some_value, # int
      },
    },
  },
  PTZ =>  { # ONVIF::Device::Types::PTZCapabilities
    XAddr =>  $some_value, # anyURI
  },
  Extension =>  { # ONVIF::Device::Types::CapabilitiesExtension
    DeviceIO =>  { # ONVIF::Device::Types::DeviceIOCapabilities
      XAddr =>  $some_value, # anyURI
      VideoSources =>  $some_value, # int
      VideoOutputs =>  $some_value, # int
      AudioSources =>  $some_value, # int
      AudioOutputs =>  $some_value, # int
      RelayOutputs =>  $some_value, # int
    },
    Display =>  { # ONVIF::Device::Types::DisplayCapabilities
      XAddr =>  $some_value, # anyURI
      FixedLayout =>  $some_value, # boolean
    },
    Recording =>  { # ONVIF::Device::Types::RecordingCapabilities
      XAddr =>  $some_value, # anyURI
      ReceiverSource =>  $some_value, # boolean
      MediaProfileSource =>  $some_value, # boolean
      DynamicRecordings =>  $some_value, # boolean
      DynamicTracks =>  $some_value, # boolean
      MaxStringLength =>  $some_value, # int
    },
    Search =>  { # ONVIF::Device::Types::SearchCapabilities
      XAddr =>  $some_value, # anyURI
      MetadataSearch =>  $some_value, # boolean
    },
    Replay =>  { # ONVIF::Device::Types::ReplayCapabilities
      XAddr =>  $some_value, # anyURI
    },
    Receiver =>  { # ONVIF::Device::Types::ReceiverCapabilities
      XAddr =>  $some_value, # anyURI
      RTP_Multicast =>  $some_value, # boolean
      RTP_TCP =>  $some_value, # boolean
      RTP_RTSP_TCP =>  $some_value, # boolean
      SupportedReceivers =>  $some_value, # int
      MaximumRTSPURILength =>  $some_value, # int
    },
    AnalyticsDevice =>  { # ONVIF::Device::Types::AnalyticsDeviceCapabilities
      XAddr =>  $some_value, # anyURI
      RuleSupport =>  $some_value, # boolean
      Extension =>  { # ONVIF::Device::Types::AnalyticsDeviceExtension
      },
    },
    Extensions =>  { # ONVIF::Device::Types::CapabilitiesExtension2
    },
  },
},

look at all those nested hashes. it's giving ✨layers✨. the comments tell you the Perl class each nested hash maps to, and the # anyURI, # boolean, # int, # AuxiliaryData bits tell you the type each value is supposed to be. $some_value is your placeholder β€” swap in your actual value, bestie. 🌈

heads up fr fr: those empty-looking nested hashes like # ONVIF::Device::Types::NetworkCapabilitiesExtension2 and # ONVIF::Device::Types::DeviceCapabilitiesExtension and # ONVIF::Device::Types::CapabilitiesExtension2 really are just { } with nothing in them in this structure. don't go inventing keys, okay? πŸ™ˆ

πŸ‘‘ AUTHOR πŸ‘‘

Generated by SOAP::WSDL.

like. it wrote itself. main character energy from a code generator, honestly. πŸ’€βœ¨


🌸 and that's the whole page, bestie! this was ONVIF:...lities(3pm) from the User Contributed Perl Documentation, sitting pretty at perl v5.40.1, dated 2026-02-01. read it, slay it, set your properties responsibly. periodt. πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from