Merge "dns_core: Allow zero-length DNS responses."
[asterisk/asterisk.git] / res / ari / resource_asterisk.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2012 - 2013, Digium, Inc.
5  *
6  * David M. Lee, II <dlee@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*! \file
20  *
21  * \brief Generated file - declares stubs to be implemented in
22  * res/ari/resource_asterisk.c
23  *
24  * Asterisk resources
25  *
26  * \author David M. Lee, II <dlee@digium.com>
27  */
28
29 /*
30  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31  * !!!!!                               DO NOT EDIT                        !!!!!
32  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
33  * This file is generated by a mustache template. Please see the original
34  * template in rest-api-templates/ari_resource.h.mustache
35  */
36
37 #ifndef _ASTERISK_RESOURCE_ASTERISK_H
38 #define _ASTERISK_RESOURCE_ASTERISK_H
39
40 #include "asterisk/ari.h"
41
42 /*! Argument struct for ast_ari_asterisk_get_object() */
43 struct ast_ari_asterisk_get_object_args {
44         /*! The configuration class containing dynamic configuration objects. */
45         const char *config_class;
46         /*! The type of configuration object to retrieve. */
47         const char *object_type;
48         /*! The unique identifier of the object to retrieve. */
49         const char *id;
50 };
51 /*!
52  * \brief Retrieve a dynamic configuration object.
53  *
54  * \param headers HTTP headers
55  * \param args Swagger parameters
56  * \param[out] response HTTP response
57  */
58 void ast_ari_asterisk_get_object(struct ast_variable *headers, struct ast_ari_asterisk_get_object_args *args, struct ast_ari_response *response);
59 /*! Argument struct for ast_ari_asterisk_update_object() */
60 struct ast_ari_asterisk_update_object_args {
61         /*! The configuration class containing dynamic configuration objects. */
62         const char *config_class;
63         /*! The type of configuration object to create or update. */
64         const char *object_type;
65         /*! The unique identifier of the object to create or update. */
66         const char *id;
67         /*! The body object should have a value that is a list of ConfigTuples, which provide the fields to update. Ex. [ { "attribute": "directmedia", "value": "false" } ] */
68         struct ast_json *fields;
69 };
70 /*!
71  * \brief Body parsing function for /asterisk/config/dynamic/{configClass}/{objectType}/{id}.
72  * \param body The JSON body from which to parse parameters.
73  * \param[out] args The args structure to parse into.
74  * \retval zero on success
75  * \retval non-zero on failure
76  */
77 int ast_ari_asterisk_update_object_parse_body(
78         struct ast_json *body,
79         struct ast_ari_asterisk_update_object_args *args);
80
81 /*!
82  * \brief Create or update a dynamic configuration object.
83  *
84  * \param headers HTTP headers
85  * \param args Swagger parameters
86  * \param[out] response HTTP response
87  */
88 void ast_ari_asterisk_update_object(struct ast_variable *headers, struct ast_ari_asterisk_update_object_args *args, struct ast_ari_response *response);
89 /*! Argument struct for ast_ari_asterisk_delete_object() */
90 struct ast_ari_asterisk_delete_object_args {
91         /*! The configuration class containing dynamic configuration objects. */
92         const char *config_class;
93         /*! The type of configuration object to delete. */
94         const char *object_type;
95         /*! The unique identifier of the object to delete. */
96         const char *id;
97 };
98 /*!
99  * \brief Delete a dynamic configuration object.
100  *
101  * \param headers HTTP headers
102  * \param args Swagger parameters
103  * \param[out] response HTTP response
104  */
105 void ast_ari_asterisk_delete_object(struct ast_variable *headers, struct ast_ari_asterisk_delete_object_args *args, struct ast_ari_response *response);
106 /*! Argument struct for ast_ari_asterisk_get_info() */
107 struct ast_ari_asterisk_get_info_args {
108         /*! Array of Filter information returned */
109         const char **only;
110         /*! Length of only array. */
111         size_t only_count;
112         /*! Parsing context for only. */
113         char *only_parse;
114 };
115 /*!
116  * \brief Body parsing function for /asterisk/info.
117  * \param body The JSON body from which to parse parameters.
118  * \param[out] args The args structure to parse into.
119  * \retval zero on success
120  * \retval non-zero on failure
121  */
122 int ast_ari_asterisk_get_info_parse_body(
123         struct ast_json *body,
124         struct ast_ari_asterisk_get_info_args *args);
125
126 /*!
127  * \brief Gets Asterisk system information.
128  *
129  * \param headers HTTP headers
130  * \param args Swagger parameters
131  * \param[out] response HTTP response
132  */
133 void ast_ari_asterisk_get_info(struct ast_variable *headers, struct ast_ari_asterisk_get_info_args *args, struct ast_ari_response *response);
134 /*! Argument struct for ast_ari_asterisk_list_modules() */
135 struct ast_ari_asterisk_list_modules_args {
136 };
137 /*!
138  * \brief List Asterisk modules.
139  *
140  * \param headers HTTP headers
141  * \param args Swagger parameters
142  * \param[out] response HTTP response
143  */
144 void ast_ari_asterisk_list_modules(struct ast_variable *headers, struct ast_ari_asterisk_list_modules_args *args, struct ast_ari_response *response);
145 /*! Argument struct for ast_ari_asterisk_get_module() */
146 struct ast_ari_asterisk_get_module_args {
147         /*! Module's name */
148         const char *module_name;
149 };
150 /*!
151  * \brief Get Asterisk module information.
152  *
153  * \param headers HTTP headers
154  * \param args Swagger parameters
155  * \param[out] response HTTP response
156  */
157 void ast_ari_asterisk_get_module(struct ast_variable *headers, struct ast_ari_asterisk_get_module_args *args, struct ast_ari_response *response);
158 /*! Argument struct for ast_ari_asterisk_load_module() */
159 struct ast_ari_asterisk_load_module_args {
160         /*! Module's name */
161         const char *module_name;
162 };
163 /*!
164  * \brief Load an Asterisk module.
165  *
166  * \param headers HTTP headers
167  * \param args Swagger parameters
168  * \param[out] response HTTP response
169  */
170 void ast_ari_asterisk_load_module(struct ast_variable *headers, struct ast_ari_asterisk_load_module_args *args, struct ast_ari_response *response);
171 /*! Argument struct for ast_ari_asterisk_unload_module() */
172 struct ast_ari_asterisk_unload_module_args {
173         /*! Module's name */
174         const char *module_name;
175 };
176 /*!
177  * \brief Unload an Asterisk module.
178  *
179  * \param headers HTTP headers
180  * \param args Swagger parameters
181  * \param[out] response HTTP response
182  */
183 void ast_ari_asterisk_unload_module(struct ast_variable *headers, struct ast_ari_asterisk_unload_module_args *args, struct ast_ari_response *response);
184 /*! Argument struct for ast_ari_asterisk_reload_module() */
185 struct ast_ari_asterisk_reload_module_args {
186         /*! Module's name */
187         const char *module_name;
188 };
189 /*!
190  * \brief Reload an Asterisk module.
191  *
192  * \param headers HTTP headers
193  * \param args Swagger parameters
194  * \param[out] response HTTP response
195  */
196 void ast_ari_asterisk_reload_module(struct ast_variable *headers, struct ast_ari_asterisk_reload_module_args *args, struct ast_ari_response *response);
197 /*! Argument struct for ast_ari_asterisk_get_global_var() */
198 struct ast_ari_asterisk_get_global_var_args {
199         /*! The variable to get */
200         const char *variable;
201 };
202 /*!
203  * \brief Body parsing function for /asterisk/variable.
204  * \param body The JSON body from which to parse parameters.
205  * \param[out] args The args structure to parse into.
206  * \retval zero on success
207  * \retval non-zero on failure
208  */
209 int ast_ari_asterisk_get_global_var_parse_body(
210         struct ast_json *body,
211         struct ast_ari_asterisk_get_global_var_args *args);
212
213 /*!
214  * \brief Get the value of a global variable.
215  *
216  * \param headers HTTP headers
217  * \param args Swagger parameters
218  * \param[out] response HTTP response
219  */
220 void ast_ari_asterisk_get_global_var(struct ast_variable *headers, struct ast_ari_asterisk_get_global_var_args *args, struct ast_ari_response *response);
221 /*! Argument struct for ast_ari_asterisk_set_global_var() */
222 struct ast_ari_asterisk_set_global_var_args {
223         /*! The variable to set */
224         const char *variable;
225         /*! The value to set the variable to */
226         const char *value;
227 };
228 /*!
229  * \brief Body parsing function for /asterisk/variable.
230  * \param body The JSON body from which to parse parameters.
231  * \param[out] args The args structure to parse into.
232  * \retval zero on success
233  * \retval non-zero on failure
234  */
235 int ast_ari_asterisk_set_global_var_parse_body(
236         struct ast_json *body,
237         struct ast_ari_asterisk_set_global_var_args *args);
238
239 /*!
240  * \brief Set the value of a global variable.
241  *
242  * \param headers HTTP headers
243  * \param args Swagger parameters
244  * \param[out] response HTTP response
245  */
246 void ast_ari_asterisk_set_global_var(struct ast_variable *headers, struct ast_ari_asterisk_set_global_var_args *args, struct ast_ari_response *response);
247
248 #endif /* _ASTERISK_RESOURCE_ASTERISK_H */