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_SRC_CORE_EXT_TRANSPORT_BINDER_CLIENT_CHANNEL_CREATE_IMPL_H
16 #define GRPC_SRC_CORE_EXT_TRANSPORT_BINDER_CLIENT_CHANNEL_CREATE_IMPL_H
17 
18 #include <grpc/support/port_platform.h>
19 
20 #include <grpcpp/security/binder_security_policy.h>
21 
22 #include "src/core/ext/transport/binder/wire_format/binder.h"
23 #include "src/core/lib/channel/channel_args.h"
24 
25 namespace grpc {
26 namespace internal {
27 
28 // Creates a GRPC_CLIENT_DIRECT_CHANNEL channel from endpoint binder
29 // At this moment this is only used for testing.
30 grpc_channel* CreateDirectBinderChannelImplForTesting(
31     std::unique_ptr<grpc_binder::Binder> endpoint_binder,
32     const grpc_channel_args* args,
33     std::shared_ptr<grpc::experimental::binder::SecurityPolicy>
34         security_policy);
35 
36 // Creates a GRPC_CLIENT_CHANNEL channel
37 grpc_channel* CreateClientBinderChannelImpl(const grpc_channel_args* args);
38 
39 }  // namespace internal
40 }  // namespace grpc
41 
42 #endif  // GRPC_SRC_CORE_EXT_TRANSPORT_BINDER_CLIENT_CHANNEL_CREATE_IMPL_H
43