xref: /aosp_15_r20/external/grpc-grpc/src/cpp/client/secure_credentials.h (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker //
2*cc02d7e2SAndroid Build Coastguard Worker //
3*cc02d7e2SAndroid Build Coastguard Worker // Copyright 2015 gRPC authors.
4*cc02d7e2SAndroid Build Coastguard Worker //
5*cc02d7e2SAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License");
6*cc02d7e2SAndroid Build Coastguard Worker // you may not use this file except in compliance with the License.
7*cc02d7e2SAndroid Build Coastguard Worker // You may obtain a copy of the License at
8*cc02d7e2SAndroid Build Coastguard Worker //
9*cc02d7e2SAndroid Build Coastguard Worker //     http://www.apache.org/licenses/LICENSE-2.0
10*cc02d7e2SAndroid Build Coastguard Worker //
11*cc02d7e2SAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
12*cc02d7e2SAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS,
13*cc02d7e2SAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*cc02d7e2SAndroid Build Coastguard Worker // See the License for the specific language governing permissions and
15*cc02d7e2SAndroid Build Coastguard Worker // limitations under the License.
16*cc02d7e2SAndroid Build Coastguard Worker //
17*cc02d7e2SAndroid Build Coastguard Worker //
18*cc02d7e2SAndroid Build Coastguard Worker 
19*cc02d7e2SAndroid Build Coastguard Worker #ifndef GRPC_SRC_CPP_CLIENT_SECURE_CREDENTIALS_H
20*cc02d7e2SAndroid Build Coastguard Worker #define GRPC_SRC_CPP_CLIENT_SECURE_CREDENTIALS_H
21*cc02d7e2SAndroid Build Coastguard Worker 
22*cc02d7e2SAndroid Build Coastguard Worker #include <grpc/grpc.h>
23*cc02d7e2SAndroid Build Coastguard Worker #include <grpc/grpc_security.h>
24*cc02d7e2SAndroid Build Coastguard Worker #include <grpc/status.h>
25*cc02d7e2SAndroid Build Coastguard Worker #include <grpcpp/channel.h>
26*cc02d7e2SAndroid Build Coastguard Worker #include <grpcpp/impl/grpc_library.h>
27*cc02d7e2SAndroid Build Coastguard Worker #include <grpcpp/security/credentials.h>
28*cc02d7e2SAndroid Build Coastguard Worker #include <grpcpp/support/channel_arguments.h>
29*cc02d7e2SAndroid Build Coastguard Worker #include <grpcpp/support/client_interceptor.h>
30*cc02d7e2SAndroid Build Coastguard Worker 
31*cc02d7e2SAndroid Build Coastguard Worker namespace grpc {
32*cc02d7e2SAndroid Build Coastguard Worker 
33*cc02d7e2SAndroid Build Coastguard Worker namespace experimental {
34*cc02d7e2SAndroid Build Coastguard Worker 
35*cc02d7e2SAndroid Build Coastguard Worker // Transforms C++ STS Credentials options to core options. The pointers of the
36*cc02d7e2SAndroid Build Coastguard Worker // resulting core options point to the memory held by the C++ options so C++
37*cc02d7e2SAndroid Build Coastguard Worker // options need to be kept alive until after the core credentials creation.
38*cc02d7e2SAndroid Build Coastguard Worker grpc_sts_credentials_options StsCredentialsCppToCoreOptions(
39*cc02d7e2SAndroid Build Coastguard Worker     const StsCredentialsOptions& options);
40*cc02d7e2SAndroid Build Coastguard Worker 
41*cc02d7e2SAndroid Build Coastguard Worker }  // namespace experimental
42*cc02d7e2SAndroid Build Coastguard Worker 
43*cc02d7e2SAndroid Build Coastguard Worker /// ---- DEPRECATED ----
44*cc02d7e2SAndroid Build Coastguard Worker /// This type is going away. Prefer creating a subclass of
45*cc02d7e2SAndroid Build Coastguard Worker /// grpc::ChannelCredentials.
46*cc02d7e2SAndroid Build Coastguard Worker class SecureChannelCredentials final : public grpc::ChannelCredentials {
47*cc02d7e2SAndroid Build Coastguard Worker  public:
SecureChannelCredentials(grpc_channel_credentials * c_creds)48*cc02d7e2SAndroid Build Coastguard Worker   explicit SecureChannelCredentials(grpc_channel_credentials* c_creds)
49*cc02d7e2SAndroid Build Coastguard Worker       : ChannelCredentials(c_creds) {}
50*cc02d7e2SAndroid Build Coastguard Worker };
51*cc02d7e2SAndroid Build Coastguard Worker 
52*cc02d7e2SAndroid Build Coastguard Worker /// ---- DEPRECATED ----
53*cc02d7e2SAndroid Build Coastguard Worker /// This type is going away. Prefer creating a subclass of
54*cc02d7e2SAndroid Build Coastguard Worker /// grpc::CallCredentials.
55*cc02d7e2SAndroid Build Coastguard Worker class SecureCallCredentials final : public grpc::CallCredentials {
56*cc02d7e2SAndroid Build Coastguard Worker  public:
SecureCallCredentials(grpc_call_credentials * c_creds)57*cc02d7e2SAndroid Build Coastguard Worker   explicit SecureCallCredentials(grpc_call_credentials* c_creds)
58*cc02d7e2SAndroid Build Coastguard Worker       : CallCredentials(c_creds) {}
59*cc02d7e2SAndroid Build Coastguard Worker };
60*cc02d7e2SAndroid Build Coastguard Worker 
61*cc02d7e2SAndroid Build Coastguard Worker }  // namespace grpc
62*cc02d7e2SAndroid Build Coastguard Worker 
63*cc02d7e2SAndroid Build Coastguard Worker #endif  // GRPC_SRC_CPP_CLIENT_SECURE_CREDENTIALS_H
64