getDeviceManager method

DeviceManager<DeviceConfiguration<DeviceRegistration>, DeviceRegistration>? getDeviceManager(
  1. String deviceType
)

Get a device manger for the specified deviceType. If a device manager is not yet available, it is created from the sampling packages. Returns null if no device manager for deviceType is found.

Implementation

DeviceManager? getDeviceManager(String deviceType) {
  // early out if already registered
  if (devices.containsKey(deviceType)) return devices[deviceType];

  info('$runtimeType - Creating device manager for device type: $deviceType');

  // look for a device manager of this type in the sampling packages
  DeviceManager? manager;
  for (var package in SamplingPackageRegistry().packages) {
    if (package.deviceType == deviceType) manager = package.deviceManager;
  }

  if (manager == null) {
    warning('$runtimeType - No device manager found for device: $deviceType');
  } else {
    registerDevice(deviceType, manager);
  }

  return manager;
}