registerDevice method

  1. @override
Future<StudyDeploymentStatus> registerDevice(
  1. String studyDeploymentId,
  2. String deviceRoleName,
  3. DeviceRegistration registration
)
override

Register the device with the specified deviceRoleName for the study deployment with studyDeploymentId.

registration is a matching configuration for the device with deviceRoleName.

Implementation

@override
Future<StudyDeploymentStatus> registerDevice(
  String studyDeploymentId,
  String deviceRoleName,
  DeviceRegistration registration,
) async {
  StudyDeployment deployment = _repository[studyDeploymentId]!;

  // check if already registered - if not register device
  DeviceDescriptor device = deployment.registeredDevices.keys.firstWhere(
      (descriptor) => descriptor.roleName == deviceRoleName,
      orElse: () => DeviceDescriptor(roleName: deviceRoleName));

  deployment.registerDevice(device, registration);

  return deployment.status;
}