public override Task <GetDirectBaseClassAtIndexResponse> GetDirectBaseClassAtIndex( GetDirectBaseClassAtIndexRequest request, ServerCallContext context) { var type = typeStore.GetObject(request.Type.Id); var child = type.GetDirectBaseClassAtIndex(request.Index); var response = new GetDirectBaseClassAtIndexResponse(); if (child != null) { long id = typeMemberStore.AddObject(child); response.TypeMember = new GrpcSbTypeMember { Id = id }; } return(Task.FromResult(response)); }
public SbTypeMember GetDirectBaseClassAtIndex(uint index) { GetDirectBaseClassAtIndexResponse response = null; if (connection.InvokeRpc(() => { response = client.GetDirectBaseClassAtIndex( new GetDirectBaseClassAtIndexRequest { Type = grpcSbType, Index = index }); })) { if (response.TypeMember != null && response.TypeMember.Id != 0) { return(typeMemberFactory.Create(connection, response.TypeMember)); } } return(null); }