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
CreateChannel(const std::string & target,const std::shared_ptr<ChannelCredentials> & creds)27 static inline std::shared_ptr<::grpc::Channel> CreateChannel(
28 const std::string& target,
29 const std::shared_ptr<ChannelCredentials>& creds) {
30 return ::grpc_impl::CreateChannelImpl(target, creds);
31 }
32
CreateCustomChannel(const std::string & target,const std::shared_ptr<ChannelCredentials> & creds,const ChannelArguments & args)33 static inline std::shared_ptr<::grpc::Channel> CreateCustomChannel(
34 const std::string& target, const std::shared_ptr<ChannelCredentials>& creds,
35 const ChannelArguments& args) {
36 return ::grpc_impl::CreateCustomChannelImpl(target, creds, args);
37 }
38
39 namespace experimental {
40
41 static inline std::shared_ptr<::grpc::Channel>
CreateCustomChannelWithInterceptors(const std::string & target,const std::shared_ptr<ChannelCredentials> & creds,const ChannelArguments & args,std::vector<std::unique_ptr<experimental::ClientInterceptorFactoryInterface>> interceptor_creators)42 CreateCustomChannelWithInterceptors(
43 const std::string& target, const std::shared_ptr<ChannelCredentials>& creds,
44 const ChannelArguments& args,
45 std::vector<
46 std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>
47 interceptor_creators) {
48 return ::grpc_impl::experimental::CreateCustomChannelWithInterceptors(
49 target, creds, args, std::move(interceptor_creators));
50 }
51
52 } // namespace experimental
53 } // namespace grpc
54
55 #endif // GRPCPP_CREATE_CHANNEL_H
56