blob: e5eb68f934f3edec251707bf11bdb7855a85da01 [file] [log] [blame]
Craig Tiller04b7ca82016-03-29 08:07:54 -07001/*
2 *
3 * Copyright 2016, Google Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above
13 * copyright notice, this list of conditions and the following disclaimer
14 * in the documentation and/or other materials provided with the
15 * distribution.
16 * * Neither the name of Google Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 */
Craig Tillerfb433852016-03-29 08:51:07 -070033
34#include <grpc/grpc.h>
35
Craig Tilleraf767432017-04-03 13:54:31 -070036extern void grpc_http_filters_init(void);
37extern void grpc_http_filters_shutdown(void);
Craig Tillerf82ddc42016-04-05 17:15:07 -070038extern void grpc_chttp2_plugin_init(void);
39extern void grpc_chttp2_plugin_shutdown(void);
Craig Tiller3be7dd02017-04-03 14:30:03 -070040extern void grpc_deadline_filter_init(void);
41extern void grpc_deadline_filter_shutdown(void);
Mark D. Roth2137cd82016-09-14 09:04:00 -070042extern void grpc_client_channel_init(void);
43extern void grpc_client_channel_shutdown(void);
Yuchen Zengd4bbfc72016-08-05 10:33:16 -070044extern void grpc_resolver_dns_ares_init(void);
45extern void grpc_resolver_dns_ares_shutdown(void);
Yuchen Zengfdae4bd2016-11-07 17:46:16 -080046extern void grpc_resolver_dns_native_init(void);
47extern void grpc_resolver_dns_native_shutdown(void);
Craig Tiller65938df2016-03-31 13:08:49 -070048extern void grpc_resolver_sockaddr_init(void);
49extern void grpc_resolver_sockaddr_shutdown(void);
David Garcia Quintas4bb11ac2016-05-02 09:20:21 -070050extern void grpc_load_reporting_plugin_init(void);
51extern void grpc_load_reporting_plugin_shutdown(void);
David Garcia Quintas3fb8f732016-06-15 22:53:08 -070052extern void grpc_lb_policy_grpclb_init(void);
53extern void grpc_lb_policy_grpclb_shutdown(void);
Craig Tillerfb433852016-03-29 08:51:07 -070054extern void grpc_lb_policy_pick_first_init(void);
55extern void grpc_lb_policy_pick_first_shutdown(void);
56extern void grpc_lb_policy_round_robin_init(void);
57extern void grpc_lb_policy_round_robin_shutdown(void);
Craig Tiller8f8e9f92016-03-29 09:41:28 -070058extern void census_grpc_plugin_init(void);
59extern void census_grpc_plugin_shutdown(void);
Craig Tiller6d4894e2017-03-31 17:22:06 -070060extern void grpc_max_age_filter_init(void);
61extern void grpc_max_age_filter_shutdown(void);
Craig Tiller9b3648a2017-04-03 12:25:19 -070062extern void grpc_message_size_filter_init(void);
63extern void grpc_message_size_filter_shutdown(void);
Muxi Yan29ff4662017-05-15 10:27:55 -070064extern void grpc_workaround_cronet_compression_filter_init(void);
65extern void grpc_workaround_cronet_compression_filter_shutdown(void);
Craig Tillerfb433852016-03-29 08:51:07 -070066
67void grpc_register_built_in_plugins(void) {
Craig Tilleraf767432017-04-03 13:54:31 -070068 grpc_register_plugin(grpc_http_filters_init,
69 grpc_http_filters_shutdown);
David Garcia Quintasaea5f122016-05-03 23:20:49 -070070 grpc_register_plugin(grpc_chttp2_plugin_init,
71 grpc_chttp2_plugin_shutdown);
Craig Tiller3be7dd02017-04-03 14:30:03 -070072 grpc_register_plugin(grpc_deadline_filter_init,
73 grpc_deadline_filter_shutdown);
Mark D. Roth2137cd82016-09-14 09:04:00 -070074 grpc_register_plugin(grpc_client_channel_init,
75 grpc_client_channel_shutdown);
Yuchen Zengd4bbfc72016-08-05 10:33:16 -070076 grpc_register_plugin(grpc_resolver_dns_ares_init,
77 grpc_resolver_dns_ares_shutdown);
Yuchen Zengfdae4bd2016-11-07 17:46:16 -080078 grpc_register_plugin(grpc_resolver_dns_native_init,
79 grpc_resolver_dns_native_shutdown);
Craig Tiller65938df2016-03-31 13:08:49 -070080 grpc_register_plugin(grpc_resolver_sockaddr_init,
81 grpc_resolver_sockaddr_shutdown);
David Garcia Quintas4bb11ac2016-05-02 09:20:21 -070082 grpc_register_plugin(grpc_load_reporting_plugin_init,
83 grpc_load_reporting_plugin_shutdown);
David Garcia Quintas3fb8f732016-06-15 22:53:08 -070084 grpc_register_plugin(grpc_lb_policy_grpclb_init,
85 grpc_lb_policy_grpclb_shutdown);
Craig Tillerfb433852016-03-29 08:51:07 -070086 grpc_register_plugin(grpc_lb_policy_pick_first_init,
87 grpc_lb_policy_pick_first_shutdown);
88 grpc_register_plugin(grpc_lb_policy_round_robin_init,
89 grpc_lb_policy_round_robin_shutdown);
David Garcia Quintasaea5f122016-05-03 23:20:49 -070090 grpc_register_plugin(census_grpc_plugin_init,
91 census_grpc_plugin_shutdown);
Craig Tiller6d4894e2017-03-31 17:22:06 -070092 grpc_register_plugin(grpc_max_age_filter_init,
93 grpc_max_age_filter_shutdown);
Craig Tiller9b3648a2017-04-03 12:25:19 -070094 grpc_register_plugin(grpc_message_size_filter_init,
95 grpc_message_size_filter_shutdown);
Muxi Yan29ff4662017-05-15 10:27:55 -070096 grpc_register_plugin(grpc_workaround_cronet_compression_filter_init,
97 grpc_workaround_cronet_compression_filter_shutdown);
Craig Tillerfb433852016-03-29 08:51:07 -070098}