gotoPreset method Null safety

XmlDocumentFragment gotoPreset(
  1. String profileToken,
  2. String presetToken,
  3. PtzSpeed? speed
)

XML for the gotoPreset, requires a profileToken, presetToken and optionally PtzSpeed

Implementation

static XmlDocumentFragment gotoPreset(
    String profileToken, String presetToken, PtzSpeed? speed) {
  builder.element('GotoPreset', nest: () {
    builder.namespace(Xmlns.tds);
    builder.element('ProfileToken', nest: () {
      builder.namespace(Xmlns.tptz);
      builder.text(profileToken);
    });
    builder.element('PresetToken', nest: () {
      builder.namespace(Xmlns.tptz);
      builder.text(presetToken);
    });
    builder.element('Speed', nest: () {
      if (speed != null) {
        builder.element('PanTilt', nest: () {
          builder.namespace(Xmlns.tt);
          builder.attribute('x', speed.panTilt!.x);
          builder.attribute('y', speed.panTilt!.x);
        });
      }
      if (speed?.zoom != null) {
        builder.element('Zoom', nest: () {
          builder.namespace(Xmlns.tt);
          builder.attribute('x', speed!.zoom!.x);
        });
      }
    });
  });

  return builder.buildFragment();
}