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 
19 
20 #include "absl/container/flat_hash_map.h"
21 #include "absl/strings/string_view.h"
22 
24 
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
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:
43  std::string, std::shared_ptr<grpc::experimental::binder::SecurityPolicy>>
44  security_policy_map_ ABSL_GUARDED_BY(m_);
45 };
46 
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