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_inproc_plugin_init(void);
32 void grpc_inproc_plugin_shutdown(void);
33 void grpc_resolver_fake_init(void);
34 void grpc_resolver_fake_shutdown(void);
35 void grpc_lb_policy_grpclb_init(void);
36 void grpc_lb_policy_grpclb_shutdown(void);
37 void grpc_lb_policy_cds_init(void);
38 void grpc_lb_policy_cds_shutdown(void);
39 void grpc_lb_policy_eds_init(void);
40 void grpc_lb_policy_eds_shutdown(void);
41 void grpc_lb_policy_lrs_init(void);
42 void grpc_lb_policy_lrs_shutdown(void);
43 void grpc_lb_policy_priority_init(void);
44 void grpc_lb_policy_priority_shutdown(void);
45 void grpc_lb_policy_weighted_target_init(void);
46 void grpc_lb_policy_weighted_target_shutdown(void);
47 void grpc_lb_policy_xds_routing_init(void);
48 void grpc_lb_policy_xds_routing_shutdown(void);
49 void grpc_lb_policy_pick_first_init(void);
50 void grpc_lb_policy_pick_first_shutdown(void);
51 void grpc_lb_policy_round_robin_init(void);
52 void grpc_lb_policy_round_robin_shutdown(void);
53 void grpc_resolver_dns_ares_init(void);
54 void grpc_resolver_dns_ares_shutdown(void);
55 void grpc_resolver_dns_native_init(void);
56 void grpc_resolver_dns_native_shutdown(void);
57 void grpc_resolver_sockaddr_init(void);
58 void grpc_resolver_sockaddr_shutdown(void);
59 void grpc_resolver_xds_init(void);
60 void grpc_resolver_xds_shutdown(void);
61 void grpc_client_idle_filter_init(void);
62 void grpc_client_idle_filter_shutdown(void);
63 void grpc_max_age_filter_init(void);
64 void grpc_max_age_filter_shutdown(void);
65 void grpc_message_size_filter_init(void);
66 void grpc_message_size_filter_shutdown(void);
67 void grpc_client_authority_filter_init(void);
68 void grpc_client_authority_filter_shutdown(void);
69 void grpc_workaround_cronet_compression_filter_init(void);
70 void grpc_workaround_cronet_compression_filter_shutdown(void);
71 
grpc_register_built_in_plugins(void)72 void grpc_register_built_in_plugins(void) {
73   grpc_register_plugin(grpc_http_filters_init,
74                        grpc_http_filters_shutdown);
75   grpc_register_plugin(grpc_chttp2_plugin_init,
76                        grpc_chttp2_plugin_shutdown);
77   grpc_register_plugin(grpc_deadline_filter_init,
78                        grpc_deadline_filter_shutdown);
79   grpc_register_plugin(grpc_client_channel_init,
80                        grpc_client_channel_shutdown);
81   grpc_register_plugin(grpc_inproc_plugin_init,
82                        grpc_inproc_plugin_shutdown);
83   grpc_register_plugin(grpc_resolver_fake_init,
84                        grpc_resolver_fake_shutdown);
85   grpc_register_plugin(grpc_lb_policy_grpclb_init,
86                        grpc_lb_policy_grpclb_shutdown);
87   grpc_register_plugin(grpc_lb_policy_cds_init,
88                        grpc_lb_policy_cds_shutdown);
89   grpc_register_plugin(grpc_lb_policy_eds_init,
90                        grpc_lb_policy_eds_shutdown);
91   grpc_register_plugin(grpc_lb_policy_lrs_init,
92                        grpc_lb_policy_lrs_shutdown);
93   grpc_register_plugin(grpc_lb_policy_priority_init,
94                        grpc_lb_policy_priority_shutdown);
95   grpc_register_plugin(grpc_lb_policy_weighted_target_init,
96                        grpc_lb_policy_weighted_target_shutdown);
97   grpc_register_plugin(grpc_lb_policy_xds_routing_init,
98                        grpc_lb_policy_xds_routing_shutdown);
99   grpc_register_plugin(grpc_lb_policy_pick_first_init,
100                        grpc_lb_policy_pick_first_shutdown);
101   grpc_register_plugin(grpc_lb_policy_round_robin_init,
102                        grpc_lb_policy_round_robin_shutdown);
103   grpc_register_plugin(grpc_resolver_dns_ares_init,
104                        grpc_resolver_dns_ares_shutdown);
105   grpc_register_plugin(grpc_resolver_dns_native_init,
106                        grpc_resolver_dns_native_shutdown);
107   grpc_register_plugin(grpc_resolver_sockaddr_init,
108                        grpc_resolver_sockaddr_shutdown);
109   grpc_register_plugin(grpc_resolver_xds_init,
110                        grpc_resolver_xds_shutdown);
111   grpc_register_plugin(grpc_client_idle_filter_init,
112                        grpc_client_idle_filter_shutdown);
113   grpc_register_plugin(grpc_max_age_filter_init,
114                        grpc_max_age_filter_shutdown);
115   grpc_register_plugin(grpc_message_size_filter_init,
116                        grpc_message_size_filter_shutdown);
117   grpc_register_plugin(grpc_client_authority_filter_init,
118                        grpc_client_authority_filter_shutdown);
119   grpc_register_plugin(grpc_workaround_cronet_compression_filter_init,
120                        grpc_workaround_cronet_compression_filter_shutdown);
121 }
122