示例#1
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));
        }
示例#2
0
        public RemoteValue CreateValueFromAddress(string name, ulong address, SbType type)
        {
            CreateValueFromAddressResponse response = null;

            if (connection.InvokeRpc(() => {
                response = client.CreateValueFromAddress(new CreateValueFromAddressRequest {
                    Value = grpcSbValue, Name = name, Address = address,
                    Type = new GrpcSbType {
                        Id = type.GetId()
                    }
                });
            }))
            {
                if (response.ExpressionResult != null && response.ExpressionResult.Id != 0)
                {
                    return(valueFactory.Create(connection, response.ExpressionResult));
                }
            }
            return(null);
        }