Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / grpc / deps / grpc / src / core / ext / filters / client_channel / proxy_mapper_registry.h
1 /*
2  *
3  * Copyright 2017 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 GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H
20 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H
21
22 #include <grpc/support/port_platform.h>
23
24 #include "src/core/ext/filters/client_channel/proxy_mapper.h"
25
26 void grpc_proxy_mapper_registry_init();
27 void grpc_proxy_mapper_registry_shutdown();
28
29 /// Registers a new proxy mapper.  Takes ownership.
30 /// If \a at_start is true, the new mapper will be at the beginning of
31 /// the list.  Otherwise, it will be added to the end.
32 void grpc_proxy_mapper_register(bool at_start, grpc_proxy_mapper* mapper);
33
34 bool grpc_proxy_mappers_map_name(const char* server_uri,
35                                  const grpc_channel_args* args,
36                                  char** name_to_resolve,
37                                  grpc_channel_args** new_args);
38
39 bool grpc_proxy_mappers_map_address(const grpc_resolved_address* address,
40                                     const grpc_channel_args* args,
41                                     grpc_resolved_address** new_address,
42                                     grpc_channel_args** new_args);
43
44 #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H */