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));
        }
Esempio n. 2
0
        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);
        }