1 /*
2 *
3 * Copyright 2016 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 #include <grpc/support/port_platform.h>
20
21 #include <grpc/grpc.h>
22
23 void grpc_http_filters_init(void);
24 void grpc_http_filters_shutdown(void);
25 void grpc_chttp2_plugin_init(void);
26 void grpc_chttp2_plugin_shutdown(void);
27 void grpc_deadline_filter_init(void);
28 void grpc_deadline_filter_shutdown(void);
29 void grpc_client_channel_init(void);
30 void grpc_client_channel_shutdown(void);
31 void grpc_tsi_alts_init(void);
32 void grpc_tsi_alts_shutdown(void);
33 void grpc_inproc_plugin_init(void);
34 void grpc_inproc_plugin_shutdown(void);
35 void grpc_resolver_fake_init(void);
36 void grpc_resolver_fake_shutdown(void);
37 void grpc_lb_policy_grpclb_init(void);
38 void grpc_lb_policy_grpclb_shutdown(void);
39 void grpc_lb_policy_pick_first_init(void);
40 void grpc_lb_policy_pick_first_shutdown(void);
41 void grpc_lb_policy_round_robin_init(void);
42 void grpc_lb_policy_round_robin_shutdown(void);
43 void grpc_resolver_dns_ares_init(void);
44 void grpc_resolver_dns_ares_shutdown(void);
45 void grpc_resolver_dns_native_init(void);
46 void grpc_resolver_dns_native_shutdown(void);
47 void grpc_resolver_sockaddr_init(void);
48 void grpc_resolver_sockaddr_shutdown(void);
49 void grpc_max_age_filter_init(void);
50 void grpc_max_age_filter_shutdown(void);
51 void grpc_message_size_filter_init(void);
52 void grpc_message_size_filter_shutdown(void);
53 void grpc_client_authority_filter_init(void);
54 void grpc_client_authority_filter_shutdown(void);
55 void grpc_workaround_cronet_compression_filter_init(void);
56 void grpc_workaround_cronet_compression_filter_shutdown(void);
57
grpc_register_built_in_plugins(void)58 void grpc_register_built_in_plugins(void) {
59 grpc_register_plugin(grpc_http_filters_init,
60 grpc_http_filters_shutdown);
61 grpc_register_plugin(grpc_chttp2_plugin_init,
62 grpc_chttp2_plugin_shutdown);
63 grpc_register_plugin(grpc_deadline_filter_init,
64 grpc_deadline_filter_shutdown);
65 grpc_register_plugin(grpc_client_channel_init,
66 grpc_client_channel_shutdown);
67 grpc_register_plugin(grpc_tsi_alts_init,
68 grpc_tsi_alts_shutdown);
69 grpc_register_plugin(grpc_inproc_plugin_init,
70 grpc_inproc_plugin_shutdown);
71 grpc_register_plugin(grpc_resolver_fake_init,
72 grpc_resolver_fake_shutdown);
73 grpc_register_plugin(grpc_lb_policy_grpclb_init,
74 grpc_lb_policy_grpclb_shutdown);
75 grpc_register_plugin(grpc_lb_policy_pick_first_init,
76 grpc_lb_policy_pick_first_shutdown);
77 grpc_register_plugin(grpc_lb_policy_round_robin_init,
78 grpc_lb_policy_round_robin_shutdown);
79 grpc_register_plugin(grpc_resolver_dns_ares_init,
80 grpc_resolver_dns_ares_shutdown);
81 grpc_register_plugin(grpc_resolver_dns_native_init,
82 grpc_resolver_dns_native_shutdown);
83 grpc_register_plugin(grpc_resolver_sockaddr_init,
84 grpc_resolver_sockaddr_shutdown);
85 grpc_register_plugin(grpc_max_age_filter_init,
86 grpc_max_age_filter_shutdown);
87 grpc_register_plugin(grpc_message_size_filter_init,
88 grpc_message_size_filter_shutdown);
89 grpc_register_plugin(grpc_client_authority_filter_init,
90 grpc_client_authority_filter_shutdown);
91 grpc_register_plugin(grpc_workaround_cronet_compression_filter_init,
92 grpc_workaround_cronet_compression_filter_shutdown);
93 }
94