Exemplo n.º 1
0
        public GetTypeInfoResponse[] GetTypeInfo(string databaseName)
        {
            var types = this.GetTypes(databaseName);

            return(types.Select(type => type.Dispatcher.Invoke(() =>
            {
                var typeInfo = type.TypeInfo;
                return GetTypeInfoResponse.ConvertFrom(typeInfo);
            })).ToArray());
        }
Exemplo n.º 2
0
        public GetTypeInfoResponse GetTypeInfo(string databaseName, string typeName)
        {
            var type = this.GetType(databaseName, typeName);

            return(type.Dispatcher.Invoke(() =>
            {
                var typeInfo = type.TypeInfo;
                return GetTypeInfoResponse.ConvertFrom(typeInfo);
            }));
        }
Exemplo n.º 3
0
        public GetTypeInfoResponse[] GetTypeInfoByTypeName(string databaseName, [FromBody] GetTypeInfoByTypeNameRequest request)
        {
            var types          = this.GetTypes(databaseName);
            var intersectTypes = types.Select(type => type.Dispatcher.Invoke(() => type.Name))
                                 .Intersect(request.TypeNames, StringComparer.OrdinalIgnoreCase);

            return(intersectTypes.Select(typeName =>
            {
                var type = types.First(o => o.Dispatcher.Invoke(() => o.Name == typeName));
                var typeInfo = type.Dispatcher.Invoke(() => type.TypeInfo);
                return GetTypeInfoResponse.ConvertFrom(typeInfo);
            }).ToArray());
        }
Exemplo n.º 4
0
        public override Task <GetTypeInfoResponse> GetTypeInfo(
            GetTypeInfoRequest request, ServerCallContext context)
        {
            var value    = valueStore.GetObject(request.Value.Id);
            var sbType   = value.GetTypeInfo();
            var response = new GetTypeInfoResponse();

            if (sbType != null)
            {
                response.Type = GrpcFactoryUtils.CreateType(sbType, typeStore.AddObject(sbType));
            }
            return(Task.FromResult(response));
        }
Exemplo n.º 5
0
        public SbType GetTypeInfo()
        {
            GetTypeInfoResponse response = null;

            if (connection.InvokeRpc(() =>
            {
                response = client.GetTypeInfo(
                    new GetTypeInfoRequest {
                    Value = grpcSbValue
                });
            }))
            {
                if (response.Type != null && response.Type.Id != 0)
                {
                    return(typeFactory.Create(connection, response.Type));
                }
            }
            return(null);
        }