public override Task <HandleCommandResponse> HandleCommand(HandleCommandRequest request, ServerCallContext context) { var interpreter = interpreterStore.GetObject(request.Interpreter.Id); var response = new HandleCommandResponse(); SbCommandReturnObject returnObject; response.ReturnStatus = interpreter.HandleCommand(request.Command, out returnObject).ConvertTo <Debugger.Common.ReturnStatus>(); if (returnObject != null) { response.ReturnObject = new Debugger.Common.GrpcSbCommandReturnObject { Id = returnObjectStore.AddObject(returnObject) }; } return(Task.FromResult(response)); }
public ReturnStatus HandleCommand(string command, out SbCommandReturnObject result) { result = null; HandleCommandResponse response = null; if (connection.InvokeRpc(() => { response = client.HandleCommand( new HandleCommandRequest { Command = command, Interpreter = grpcSbInterpreter }); })) { if (response.ReturnObject != null && response.ReturnObject.Id != 0) { result = returnObjectFactory.Create(connection, response.ReturnObject); return(response.ReturnStatus.ConvertTo <ReturnStatus>()); } } return(ReturnStatus.Invalid); }