respondToPermissionRequest method
Respond to a permission request from CCR.
Implementation
void respondToPermissionRequest(
String requestId,
RemotePermissionResponse result,
) {
final pendingRequest = _pendingPermissionRequests[requestId];
if (pendingRequest == null) {
developer.log(
'No pending permission request with ID: $requestId',
name: 'RemoteSessionManager',
);
return;
}
_pendingPermissionRequests.remove(requestId);
final Map<String, dynamic> responsePayload;
switch (result) {
case RemotePermissionAllow(:final updatedInput):
responsePayload = {
'behavior': 'allow',
'updatedInput': updatedInput,
};
case RemotePermissionDeny(:final message):
responsePayload = {
'behavior': 'deny',
'message': message,
};
}
final controlResponse = <String, dynamic>{
'type': 'control_response',
'response': {
'subtype': 'success',
'request_id': requestId,
'response': responsePayload,
},
};
developer.log(
'Sending permission response: ${responsePayload['behavior']}',
name: 'RemoteSessionManager',
);
_websocket?.sendControlResponse(controlResponse);
}