run method
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();
final needsSourceToken = (argResults?['scope-include-sources-type'] ??
argResults?['scope-include-sources-token']) !=
null;
final sourceToken = needsSourceToken
? [
SourceToken(
type: argResults?['scope-include-sources-type'],
token: argResults?['scope-include-sources-token'])
]
: null;
final needsSearchScope = (sourceToken ??
argResults?['scope-include-recordings'] ??
argResults?['scope-recording-information-filter']) !=
null;
final searchScope = needsSearchScope
? SearchScope(
includedSources: sourceToken,
includedRecordings:
argResults?['scope-include-recordings'].toString().split(','),
recordingInformationFilter:
argResults?['scope-recording-information-filter'],
)
: null;
try {
final searchToken = await search.findRecordings(
searchScope: searchScope,
maxMatches: argResults?['max-matches'],
keepAliveTime: argResults!['keep-alive-time']);
print(searchToken);
} on DioException catch (err) {
throw UsageException('API usage error:', err.usage);
}
}