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 {
    int? timeout =
        argResults?['timeout'] != null
            ? int.parse(argResults?['timeout'])
            : null;

    final velocity = PtzSpeed(
      panTilt: Vector2D.fromString(
        x: argResults!['pan-tilt-x'],
        y: argResults!['pan-tilt-y'],
      ),
      zoom: Vector1D.fromString(x: argResults!['pan-tilt-zoom']),
    );

    await ptz.continuousMove(
      argResults!['profile-token'],
      velocity: velocity,
      timeout: timeout,
    );
  } on DioException catch (err) {
    throw UsageException('API usage error:', err.usage);
  }
}