public override Task <GetModuleAtIndexResponse> GetModuleAtIndex( GetModuleAtIndexRequest request, ServerCallContext context) { if (!_targetStore.TryGetValue(request.Target.Id, out RemoteTarget target)) { ErrorUtils.ThrowError(StatusCode.Internal, "Could not find target in store: " + request.Target.Id); } var response = new GetModuleAtIndexResponse(); SbModule module = target.GetModuleAtIndex(request.Index); if (module != null) { response.Module = new GrpcSbModule { Id = _moduleStore.AddObject(module) }; } return(Task.FromResult(response)); }
public SbModule GetModuleAtIndex(int index) { var request = new GetModuleAtIndexRequest() { Target = grpcSbTarget, Index = index, }; GetModuleAtIndexResponse response = null; if (connection.InvokeRpc(() => { response = client.GetModuleAtIndex(request); })) { if (response.Module != null && response.Module.Id != 0) { return(moduleFactory.Create(connection, response.Module)); } } return(null); }