Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
src
core
lib
security
authorization
mock_cel
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
18
#include <
grpc/support/port_platform.h
>
19
20
#include <set>
21
#include <string>
22
23
#include "absl/status/statusor.h"
24
#include "
google/api/expr/v1alpha1/syntax.upb.h
"
25
26
#include "
src/core/lib/security/authorization/mock_cel/activation.h
"
27
#include "
src/core/lib/security/authorization/mock_cel/cel_expression.h
"
28
#include "
src/core/lib/security/authorization/mock_cel/cel_value.h
"
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
36
class
ExecutionPath
{
37
public
:
38
ExecutionPath
() =
default
;
39
};
40
41
// Implementation of the CelExpression that utilizes flattening
42
// of the expression tree.
43
class
CelExpressionFlatImpl
:
public
CelExpression
{
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
:
50
CelExpressionFlatImpl
(
const
google_api_expr_v1alpha1_Expr
* root_expr,
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.
57
absl::StatusOr<CelValue>
Evaluate
(
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