addTrigger method

void addTrigger(
  1. Trigger trigger
)

Add the trigger to this protocol.

Implementation

void addTrigger(Trigger trigger) {
  // early out if already added
  if (triggers.values.contains(trigger)) return;

  // so much for null-safety "#%"&?
  if (trigger.requiresMasterDevice != null &&
      trigger.sourceDeviceRoleName != null &&
      trigger.requiresMasterDevice!) {
    assert(
        hasMasterDevice(trigger.sourceDeviceRoleName!),
        'The passed trigger cannot be initiated by its specified source device '
        'since it is not a master device which is part of this protocol.');
  }

  triggers['${triggers.length}'] = trigger;
}