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
ext
transport
binder
client
security_policy_setting.h
Go to the documentation of this file.
1
// Copyright 2021 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_EXT_TRANSPORT_BINDER_CLIENT_SECURITY_POLICY_SETTING_H
16
#define GRPC_CORE_EXT_TRANSPORT_BINDER_CLIENT_SECURITY_POLICY_SETTING_H
17
18
#include <
grpc/support/port_platform.h
>
19
20
#include "absl/container/flat_hash_map.h"
21
#include "absl/strings/string_view.h"
22
23
#include <
grpcpp/security/binder_security_policy.h
>
24
25
#include "
src/core/lib/gprpp/sync.h
"
26
27
namespace
grpc_binder
{
28
29
// A singleton class for setting security setting for each connection. This is
30
// required because we cannot pass security policy shared pointers around using
31
// gRPC arguments, we can only pass connection_id around as part of URI
32
class
SecurityPolicySetting
{
33
public
:
34
void
Set
(
absl::string_view
connection_id,
35
std::shared_ptr<grpc::experimental::binder::SecurityPolicy>
36
security_policy);
37
std::shared_ptr<grpc::experimental::binder::SecurityPolicy>
Get
(
38
absl::string_view
connection_id);
39
40
private
:
41
grpc_core::Mutex
m_
;
42
absl::flat_hash_map
<
43
std::string
, std::shared_ptr<grpc::experimental::binder::SecurityPolicy>>
44
security_policy_map_
ABSL_GUARDED_BY
(
m_
);
45
};
46
47
SecurityPolicySetting
*
GetSecurityPolicySetting
();
48
49
}
// namespace grpc_binder
50
51
#endif // GRPC_CORE_EXT_TRANSPORT_BINDER_CLIENT_SECURITY_POLICY_SETTING_H
absl::string_view
Definition:
abseil-cpp/absl/strings/string_view.h:167
grpc_binder
Definition:
connection_id_generator.cc:45
testing::internal::string
::std::string string
Definition:
bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
binder_security_policy.h
grpc_binder::GetSecurityPolicySetting
SecurityPolicySetting * GetSecurityPolicySetting()
Definition:
security_policy_setting.cc:39
grpc_binder::SecurityPolicySetting
Definition:
security_policy_setting.h:32
grpc_core::Mutex
Definition:
src/core/lib/gprpp/sync.h:61
grpc_binder::SecurityPolicySetting::ABSL_GUARDED_BY
absl::flat_hash_map< std::string, std::shared_ptr< grpc::experimental::binder::SecurityPolicy > > security_policy_map_ ABSL_GUARDED_BY(m_)
absl::flat_hash_map
Definition:
abseil-cpp/absl/container/flat_hash_map.h:113
grpc_binder::SecurityPolicySetting::m_
grpc_core::Mutex m_
Definition:
security_policy_setting.h:41
grpc_binder::SecurityPolicySetting::Set
void Set(absl::string_view connection_id, std::shared_ptr< grpc::experimental::binder::SecurityPolicy > security_policy)
Definition:
security_policy_setting.cc:23
grpc_binder::SecurityPolicySetting::Get
std::shared_ptr< grpc::experimental::binder::SecurityPolicy > Get(absl::string_view connection_id)
Definition:
security_policy_setting.cc:33
sync.h
port_platform.h
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:16