evaluator_core.h
Go to the documentation of this file.
1 // Copyright 2020 gRPC authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef GRPC_CORE_LIB_SECURITY_AUTHORIZATION_MOCK_CEL_EVALUATOR_CORE_H
16 #define GRPC_CORE_LIB_SECURITY_AUTHORIZATION_MOCK_CEL_EVALUATOR_CORE_H
17 
19 
20 #include <set>
21 #include <string>
22 
23 #include "absl/status/statusor.h"
25 
29 
30 namespace grpc_core {
31 namespace mock_cel {
32 
33 // This is a temporary stub implementation of CEL APIs.
34 // Once gRPC imports the CEL library, this file will be removed.
35 
37  public:
38  ExecutionPath() = default;
39 };
40 
41 // Implementation of the CelExpression that utilizes flattening
42 // of the expression tree.
44  // Constructs CelExpressionFlatImpl instance.
45  // path is flat execution path that is based upon
46  // flattened AST tree. Max iterations dictates the maximum number of
47  // iterations in the comprehension expressions (use 0 to disable the upper
48  // bound).
49  public:
51  ExecutionPath path, int max_iterations,
52  std::set<std::string> iter_variable_names,
53  bool enable_unknowns = false,
54  bool enable_unknown_function_results = false) {}
55 
56  // Implementation of CelExpression evaluate method.
58  const BaseActivation& activation) const override {
59  return CelValue::CreateNull();
60  }
61 };
62 
63 } // namespace mock_cel
64 } // namespace grpc_core
65 
66 #endif // GRPC_CORE_LIB_SECURITY_AUTHORIZATION_MOCK_CEL_EVALUATOR_CORE_H
grpc_core::mock_cel::ExecutionPath
Definition: evaluator_core.h:36
syntax.upb.h
grpc_core
Definition: call_metric_recorder.h:31
check_documentation.path
path
Definition: check_documentation.py:57
grpc_core::mock_cel::CelExpressionFlatImpl::CelExpressionFlatImpl
CelExpressionFlatImpl(const google_api_expr_v1alpha1_Expr *root_expr, ExecutionPath path, int max_iterations, std::set< std::string > iter_variable_names, bool enable_unknowns=false, bool enable_unknown_function_results=false)
Definition: evaluator_core.h:50
grpc_core::mock_cel::BaseActivation
Definition: activation.h:29
grpc_core::mock_cel::CelValue::CreateNull
static CelValue CreateNull()
Definition: cel_value.h:66
activation.h
grpc_core::mock_cel::ExecutionPath::ExecutionPath
ExecutionPath()=default
grpc_core::mock_cel::CelExpressionFlatImpl::Evaluate
absl::StatusOr< CelValue > Evaluate(const BaseActivation &activation) const override
Definition: evaluator_core.h:57
cel_expression.h
grpc_core::mock_cel::CelExpression
Definition: cel_expression.h:37
google_api_expr_v1alpha1_Expr
struct google_api_expr_v1alpha1_Expr google_api_expr_v1alpha1_Expr
Definition: syntax.upb.h:38
absl::StatusOr
Definition: abseil-cpp/absl/status/statusor.h:187
cel_value.h
grpc_core::mock_cel::CelExpressionFlatImpl
Definition: evaluator_core.h:43
port_platform.h


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:16