public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            EvaluateExpressionResponse response = new EvaluateExpressionResponse();

            context.Read();

            UnmarshallResult(context, response);
            return(response);
        }
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            EvaluateExpressionResponse response = new EvaluateExpressionResponse();

            context.Read();

            response.EvaluateExpressionResult = EvaluateExpressionResultUnmarshaller.GetInstance().Unmarshall(context);

            return(response);
        }
Ejemplo n.º 3
0
        public override Task <EvaluateExpressionResponse> EvaluateExpression(
            EvaluateExpressionRequest request, ServerCallContext context)
        {
            RemoteFrame frame = frameStore.GetObject(request.Frame.Id);
            RemoteValue value = frame.EvaluateExpression(request.Expression);

            var response = new EvaluateExpressionResponse();

            if (value != null)
            {
                response.Value = GrpcFactoryUtils.CreateValue(value, valueStore.AddObject(value));
            }
            return(Task.FromResult(response));
        }
Ejemplo n.º 4
0
        public override Task <EvaluateExpressionResponse> EvaluateExpression(
            EvaluateExpressionRequest request, ServerCallContext context)
        {
            var value            = valueStore.GetObject(request.Value.Id);
            var expressionResult =
                value.EvaluateExpression(request.Expression);
            var response = new EvaluateExpressionResponse();

            if (expressionResult != null)
            {
                response.ExpressionResult = GrpcFactoryUtils.CreateValue(
                    expressionResult, valueStore.AddObject(expressionResult));
            }
            return(Task.FromResult(response));
        }
Ejemplo n.º 5
0
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            EvaluateExpressionResponse response = new EvaluateExpressionResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("evaluatedExpression", targetDepth))
                {
                    response.EvaluatedExpression = StringUnmarshaller.GetInstance().Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
Ejemplo n.º 6
0
        public async Task <RemoteValue> EvaluateExpressionAsync(string text)
        {
            EvaluateExpressionResponse response = null;

            if (await connection.InvokeRpcAsync(async delegate
            {
                response = await client.EvaluateExpressionAsync(
                    new EvaluateExpressionRequest()
                {
                    Frame = grpcSbFrame, Expression = text
                });
            }))
            {
                if (response.Value != null && response.Value.Id != 0)
                {
                    return(valueFactory.Create(connection, response.Value));
                }
            }
            return(null);
        }
Ejemplo n.º 7
0
        public async Task <RemoteValue> EvaluateExpressionAsync(string expression)
        {
            EvaluateExpressionResponse response = null;

            if (await connection.InvokeRpcAsync(async() =>
            {
                response = await client.EvaluateExpressionAsync(
                    new EvaluateExpressionRequest
                {
                    Value = grpcSbValue, Expression = expression
                });
            }))
            {
                if (response.ExpressionResult != null && response.ExpressionResult.Id != 0)
                {
                    return(valueFactory.Create(connection, response.ExpressionResult));
                }
            }
            return(null);
        }
Ejemplo n.º 8
0
        public RemoteValue EvaluateExpression(string expression)
        {
            EvaluateExpressionResponse response = null;

            if (connection.InvokeRpc(() =>
            {
                response = client.EvaluateExpression(
                    new EvaluateExpressionRequest
                {
                    Value = grpcSbValue, Expression = expression
                });
            }))
            {
                if (response.ExpressionResult != null && response.ExpressionResult.Id != 0)
                {
                    return(valueFactory.Create(connection, response.ExpressionResult));
                }
            }
            return(null);
        }
        private static void UnmarshallResult(JsonUnmarshallerContext context, EvaluateExpressionResponse response)
        {
            int originalDepth = context.CurrentDepth;
            int targetDepth   = originalDepth + 1;

            while (context.Read())
            {
                if (context.TestExpression("evaluatedExpression", targetDepth))
                {
                    context.Read();
                    response.EvaluatedExpression = StringUnmarshaller.GetInstance().Unmarshall(context);
                    continue;
                }

                if (context.CurrentDepth <= originalDepth)
                {
                    return;
                }
            }

            return;
        }