1 | /* |
2 | * |
3 | * Copyright 2019 gRPC authors. |
4 | * |
5 | * Licensed under the Apache License, Version 2.0 (the "License"); |
6 | * you may not use this file except in compliance with the License. |
7 | * You may obtain a copy of the License at |
8 | * |
9 | * http://www.apache.org/licenses/LICENSE-2.0 |
10 | * |
11 | * Unless required by applicable law or agreed to in writing, software |
12 | * distributed under the License is distributed on an "AS IS" BASIS, |
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 | * See the License for the specific language governing permissions and |
15 | * limitations under the License. |
16 | * |
17 | */ |
18 | |
19 | #ifndef GRPCPP_CREATE_CHANNEL_H |
20 | #define GRPCPP_CREATE_CHANNEL_H |
21 | |
22 | #include <grpcpp/create_channel_impl.h> |
23 | #include <grpcpp/support/channel_arguments.h> |
24 | |
25 | namespace grpc { |
26 | |
27 | static inline std::shared_ptr<::grpc::Channel> CreateChannel( |
28 | const grpc::string& target, |
29 | const std::shared_ptr<ChannelCredentials>& creds) { |
30 | return ::grpc_impl::CreateChannelImpl(target, creds); |
31 | } |
32 | |
33 | static inline std::shared_ptr<::grpc::Channel> CreateCustomChannel( |
34 | const grpc::string& target, |
35 | const std::shared_ptr<ChannelCredentials>& creds, |
36 | const ChannelArguments& args) { |
37 | return ::grpc_impl::CreateCustomChannelImpl(target, creds, args); |
38 | } |
39 | |
40 | namespace experimental { |
41 | |
42 | static inline std::shared_ptr<::grpc::Channel> |
43 | CreateCustomChannelWithInterceptors( |
44 | const grpc::string& target, |
45 | const std::shared_ptr<ChannelCredentials>& creds, |
46 | const ChannelArguments& args, |
47 | std::vector< |
48 | std::unique_ptr<experimental::ClientInterceptorFactoryInterface>> |
49 | interceptor_creators) { |
50 | return ::grpc_impl::experimental::CreateCustomChannelWithInterceptors( |
51 | target, creds, args, interceptor_creators: std::move(interceptor_creators)); |
52 | } |
53 | |
54 | } // namespace experimental |
55 | } // namespace grpc |
56 | |
57 | #endif // GRPCPP_CREATE_CHANNEL_H |
58 | |