absoluteMove static method Null safety

XmlDocumentFragment absoluteMove(
  1. String profileToken,
  2. PtzPosition place,
  3. PtzPosition? speed
)

Implementation

static XmlDocumentFragment absoluteMove(
    String profileToken, PtzPosition place, PtzPosition? speed) {
  Transport.builder.element('AbsoluteMove', nest: () {
    Transport.builder.namespace(Xmlns.tptz); //tptz
    Transport.builder.element('ProfileToken', nest: () {
      Transport.builder.namespace(Xmlns.tptz);
      Transport.builder.text(profileToken);
    });
    Transport.builder.element('Position', nest: () {
      Transport.builder.namespace(Xmlns.tptz);
      Transport.builder.element('PanTilt', nest: () {
        Transport.builder.namespace(Xmlns.tt);
        Transport.builder.attribute('x', place.panTilt!.x);
        Transport.builder.attribute('y', place.panTilt!.y);
      });
      if (place.zoom != null) {
        Transport.builder.element('Zoom', nest: () {
          Transport.builder.namespace(Xmlns.tt);
          Transport.builder.attribute('x', place.zoom!.x);
        });
      }
    });
    if (speed != null) {
      Transport.builder.element('Speed', nest: () {
        Transport.builder.namespace(Xmlns.tptz);
        if (speed.panTilt != null) {
          Transport.builder.element('PanTilt', nest: () {
            Transport.builder.namespace(Xmlns.tt);
            Transport.builder.attribute('x', speed.panTilt!.x);
            Transport.builder.attribute('y', speed.panTilt!.y);
          });
        }
        if (speed.zoom != null) {
          Transport.builder.element('Zoom', nest: () {
            Transport.builder.namespace(Xmlns.tt);
            Transport.builder.attribute('x', speed.zoom!.x);
          });
        }
      });
    }
  });

  return Transport.builder.buildFragment();
}