initialize method Null safety

Future<void> initialize()

Connect to the Onvif device and retrieve its capabilities

Implementation

Future<void> initialize() async {
  if (debug) logDebug('initializing...');

  final _datetime = await deviceManagement.getSystemDateAndTime();

  _timeDelta = _datetime.utcDateTime != null
      ? _datetime.utcDateTime!.difference(DateTime.now().toUtc())
      : const Duration(seconds: 0);

  final _serviceList = await deviceManagement.getServices();

  serviceMap.addAll(
      {for (var service in _serviceList) service.nameSpace: service.xAddr});

  if (serviceMap.containsKey('http://www.onvif.org/ver10/media/wsdl')) {
    _media = Media(
        onvif: this,
        uri: serviceMap['http://www.onvif.org/ver10/media/wsdl']!);
  }

  if (serviceMap.containsKey('http://www.onvif.org/ver20/ptz/wsdl')) {
    _ptz = Ptz(
        onvif: this, uri: serviceMap['http://www.onvif.org/ver20/ptz/wsdl']!);
  }

  if (debug) logDebug('initialization complete');
}