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();

  Directory? logFolder;

  if (argResults?.options.contains('log-folder') ?? false) {
    logFolder = Directory(argResults!['log-folder']);

    if (!logFolder.existsSync()) {
      throw UsageException(
          '${argResults!['log-folder']} - folder not found', usage);
    }
  }

  try {
    final systemLog = await deviceManagement.getSystemLog(
      argResults!['type'],
      writeLogToFolder: logFolder?.path,
    );

    print(systemLog);
  } on DioException catch (err) {
    throw UsageException('API usage error:', err.usage);
  }
}