flat_expr_builder.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_FLAT_EXPR_BUILDER_H
16 #define GRPC_CORE_LIB_SECURITY_AUTHORIZATION_MOCK_CEL_FLAT_EXPR_BUILDER_H
17 
19 
20 #include <memory>
21 #include <set>
22 #include <string>
23 #include <vector>
24 
25 #include "absl/memory/memory.h"
26 #include "absl/status/status.h"
27 #include "absl/status/statusor.h"
29 
32 
33 namespace grpc_core {
34 namespace mock_cel {
35 
36 // This is a temporary stub implementation of CEL APIs.
37 // Once gRPC imports the CEL library, this file will be removed.
38 
39 // CelExpressionBuilder implementation.
40 // Builds instances of CelExpressionFlatImpl.
42  public:
43  FlatExprBuilder() = default;
44 
47  const google_api_expr_v1alpha1_SourceInfo* source_info) const override {
49  return absl::make_unique<CelExpressionFlatImpl>(nullptr, path, 0,
50  std::set<std::string>{});
51  }
52 
55  const google_api_expr_v1alpha1_SourceInfo* source_info,
56  std::vector<absl::Status>* warnings) const override {
58  return absl::make_unique<CelExpressionFlatImpl>(nullptr, path, 0,
59  std::set<std::string>{});
60  }
61 };
62 
63 } // namespace mock_cel
64 } // namespace grpc_core
65 
66 #endif // GRPC_CORE_LIB_SECURITY_AUTHORIZATION_MOCK_CEL_FLAT_EXPR_BUILDER_H
grpc_core::mock_cel::ExecutionPath
Definition: evaluator_core.h:36
syntax.upb.h
evaluator_core.h
grpc_core
Definition: call_metric_recorder.h:31
check_documentation.path
path
Definition: check_documentation.py:57
grpc_core::mock_cel::FlatExprBuilder::CreateExpression
absl::StatusOr< std::unique_ptr< CelExpression > > CreateExpression(const google_api_expr_v1alpha1_Expr *expr, const google_api_expr_v1alpha1_SourceInfo *source_info, std::vector< absl::Status > *warnings) const override
Definition: flat_expr_builder.h:53
grpc_core::mock_cel::FlatExprBuilder::CreateExpression
absl::StatusOr< std::unique_ptr< CelExpression > > CreateExpression(const google_api_expr_v1alpha1_Expr *expr, const google_api_expr_v1alpha1_SourceInfo *source_info) const override
Definition: flat_expr_builder.h:45
grpc_core::mock_cel::FlatExprBuilder::FlatExprBuilder
FlatExprBuilder()=default
google_api_expr_v1alpha1_SourceInfo
struct google_api_expr_v1alpha1_SourceInfo google_api_expr_v1alpha1_SourceInfo
Definition: syntax.upb.h:47
cel_expression.h
grpc_core::mock_cel::FlatExprBuilder
Definition: flat_expr_builder.h:41
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
grpc_core::mock_cel::CelExpressionBuilder
Definition: cel_expression.h:51
port_platform.h


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