getCapabilities method

Future<Capabilities> getCapabilities({
  1. CapabilityCategory? capabilityCategory,
})

This operation creates new device users and corresponding credentials on a device for authentication purposes. The device shall support creation of device users and their credentials through the CreateUsers command. Either all users are created successfully or a fault message shall be returned without creating any user.

ONVIF compliant devices are recommended to support password length of at least 28 bytes, as clients may follow the password derivation mechanism which results in 'password equivalent' of length 28 bytes, as described in section 3.1.2 of the ONVIF security white paper.

This method has been replaced by the more generic getServices method. For capabilities of individual services refer to the getServiceCapabilities methods. @Deprecated('Use getServices')

Access Class: PRE_AUTH

Implementation

Future<Capabilities> getCapabilities(
    {CapabilityCategory? capabilityCategory}) async {
  loggy.debug('getCapabilities');

  capabilityCategory ??= CapabilityCategory.all;

  final responseEnvelope = await transport.request(
      uri,
      soap.Body(
        request:
            DeviceManagementRequest.capabilities(capabilityCategory.value),
      ));

  if (responseEnvelope.body.hasFault) {
    throw Exception(responseEnvelope.body.fault.toString());
  }

  return GetCapabilitiesResponse.fromJson(responseEnvelope.body.response!)
      .capabilities;
}