run method

  1. @override
void run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
void run() async {
  await initializeOnvif();

  try {
    final profileToken = argResults!['profile-token'];

    await ptz.gotoPreset(
      profileToken,
      presetToken: argResults!['preset-token'],
      speed:
          argResults?['pan-tilt-x'] != null &&
                  argResults?['pan-tilt-y'] != null
              ? PtzSpeed(
                panTilt: Vector2D.fromString(
                  x: argResults!['pan-tilt-x'],
                  y: argResults!['pan-tilt-y'],
                ),
                zoom:
                    argResults?['zoom'] != null
                        ? Vector1D.fromString(x: argResults!['zoom'])
                        : null,
              )
              : null,
    );
  } on DioException catch (err) {
    throw UsageException('API usage error:', err.usage);
  }
}