startRecording method
Implementation
Future<CockpitRecordingSession> startRecording({
required CockpitRecordingRequest request,
}) async {
final payload = await _channel
.invokeMethod<Object?>('startRecording', <String, Object?>{
'purpose': request.purpose.name,
'name': request.name,
'mode': request.mode.jsonValue,
'layer': request.layer?.jsonValue,
'allowFallback': request.allowFallback,
'attachToStep': request.attachToStep,
'relativePath': cockpitRecordingRelativePathFor(request),
});
if (payload is! Map<Object?, Object?>) {
throw StateError('Start recording returned an invalid payload.');
}
final state = payload['state'] == null
? CockpitRecordingState.recording
: CockpitRecordingState.fromJson(payload['state']);
return CockpitRecordingSession(request: request, state: state);
}