public override Task <SucceededResponse> Succeeded(SucceededRequest request,
                                                           ServerCallContext context)
        {
            var returnObject = returnObjectStore.GetObject(request.ReturnObject.Id);

            return(Task.FromResult(new SucceededResponse {
                Succeeded = returnObject.Succeeded()
            }));
        }
        public override Task <GetLineEntryResponse> GetLineEntry(GetLineEntryRequest request,
                                                                 ServerCallContext context)
        {
            var address  = addressStore.GetObject(request.Address.Id);
            var response = new GetLineEntryResponse();

            response.LineEntry = GrpcFactoryUtils.CreateGrpcLineEntryInfo(address.GetLineEntry());
            return(Task.FromResult(response));
        }
Beispiel #3
0
        public override Task <GetIdResponse> GetId(GetIdRequest request, ServerCallContext context)
        {
            var watchpoint = watchpointStore.GetObject(request.Watchpoint.Id);

            return(Task.FromResult(new GetIdResponse
            {
                Id = watchpoint.GetId()
            }));
        }
        public override Task <GetFileAddressResponse> GetFileAddress(GetFileAddressRequest request,
                                                                     ServerCallContext context)
        {
            var section = sectionStore.GetObject(request.Section.Id);

            return(Task.FromResult(
                       new GetFileAddressResponse {
                FileAddress = section.GetFileAddress()
            }));
        }
Beispiel #5
0
        public override Task <GetShouldStopResponse> GetShouldStop(GetShouldStopRequest request,
                                                                   ServerCallContext context)
        {
            var unixSignals = unixSignalsStore.GetObject(request.Signals.Id);

            return(Task.FromResult(new GetShouldStopResponse
            {
                ShouldStop = unixSignals.GetShouldStop(request.SignalNumber)
            }));
        }
Beispiel #6
0
        public override Task <GetStartAddressResponse> GetStartAddress(
            GetStartAddressRequest request, ServerCallContext context)
        {
            var symbol   = symbolStore.GetObject(request.Symbol.Id);
            var address  = symbol.GetStartAddress();
            var response = new GetStartAddressResponse();

            if (address != null)
            {
                response.Address = new GrpcSbAddress {
                    Id = addressStore.AddObject(address)
                };
            }
            return(Task.FromResult(response));
        }
        public override Task <ReadInstructionInfosResponse> ReadInstructionInfos(
            ReadInstructionInfosRequest request, ServerCallContext context)
        {
            RemoteTarget           target       = GrpcLookupUtils.GetTarget(request.Target, _targetStore);
            SbAddress              address      = _addressStore.GetObject(request.Address.Id);
            var                    response     = new ReadInstructionInfosResponse();
            List <InstructionInfo> instructions =
                target.ReadInstructionInfos(address, request.Count, request.Flavor);

            if (instructions != null)
            {
                foreach (InstructionInfo instruction in instructions)
                {
                    var instructionInfo = new GrpcInstructionInfo {
                        Address    = instruction.Address, Operands = instruction.Operands ?? "",
                        Comment    = instruction.Comment ?? "", Mnemonic = instruction.Mnemonic ?? "",
                        SymbolName = instruction.SymbolName ?? ""
                    };
                    if (instruction.LineEntry != null)
                    {
                        instructionInfo.LineEntry = new GrpcLineEntryInfo {
                            FileName  = instruction.LineEntry.FileName ?? "",
                            Directory = instruction.LineEntry.Directory ?? "",
                            Line      = instruction.LineEntry.Line, Column = instruction.LineEntry.Column
                        };
                    }
                    response.Instructions.Add(instructionInfo);
                }
            }
            return(Task.FromResult(response));
        }
        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 override Task <GetTypeFlagsResponse> GetTypeFlags(GetTypeFlagsRequest request,
                                                                 ServerCallContext context)
        {
            var type = typeStore.GetObject(request.Type.Id);

            return(Task.FromResult(new GetTypeFlagsResponse {
                Flags = (uint)type.GetTypeFlags()
            }));
        }
        public override Task <GetTypeInfoResponse> GetTypeInfo(
            GetTypeInfoRequest request, ServerCallContext context)
        {
            var typeMember = typeMemberStore.GetObject(request.TypeMember.Id);
            var sbType     = typeMember.GetTypeInfo();
            var response   = new GetTypeInfoResponse();

            if (sbType != null)
            {
                response.Type = GrpcFactoryUtils.CreateType(sbType, typeStore.AddObject(sbType));
            }
            return(Task.FromResult(response));
        }
Beispiel #11
0
        public override Task <CreateValueFromAddressResponse> CreateValueFromAddress(
            CreateValueFromAddressRequest request, ServerCallContext context)
        {
            RemoteValue value            = valueStore.GetObject(request.Value.Id);
            RemoteValue expressionResult = value.CreateValueFromAddress(
                request.Name, request.Address, typeStore.GetObject(request.Type.Id));
            var response = new CreateValueFromAddressResponse();

            if (expressionResult != null)
            {
                response.ExpressionResult = GrpcFactoryUtils.CreateValue(
                    expressionResult, valueStore.AddObject(expressionResult));
            }
            return(Task.FromResult(response));
        }
Beispiel #12
0
        public override Task <GetProcessResponse> GetProcess(GetProcessRequest request,
                                                             ServerCallContext context)
        {
            var response  = new GetProcessResponse();
            var thread    = threadStore.GetObject(request.Thread.Id);
            var sbProcess = thread.GetProcess();

            if (sbProcess != null)
            {
                response.Process = new GrpcSbProcess()
                {
                    Id = processStore.GetOrAdd(sbProcess.GetUniqueId(), sbProcess)
                         .GetUniqueId()
                };
            }
            return(Task.FromResult(response));
        }
Beispiel #13
0
        public override Task <GetValueResponse> GetValue(GetValueRequest request,
                                                         ServerCallContext context)
        {
            var value = valueStore.GetObject(request.Value.Id);

            value.SetFormat(request.Format.ConvertTo <LldbApi.ValueFormat>());
            return(Task.FromResult(new GetValueResponse {
                Value = value.GetValue()
            }));
        }
Beispiel #14
0
        public override Task <GetFunctionResponse> GetFunction(GetFunctionRequest request,
                                                               ServerCallContext context)
        {
            RemoteFrame frame    = frameStore.GetObject(request.Frame.Id);
            SbFunction  function = frame.GetFunction();

            var response = new GetFunctionResponse();

            if (function != null)
            {
                response.Function = new GrpcSbFunction {
                    Id = functionStore.AddObject(function)
                };
            }
            return(Task.FromResult(response));
        }