Update events to use Swagger 1.3 subtyping, and related aftermath
[asterisk/asterisk.git] / rest-api-templates / ari_model_validators.h.mustache
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2013, Digium, Inc.
5  *
6  * See http://www.asterisk.org for more information about
7  * the Asterisk project. Please do not directly contact
8  * any of the maintainers of this project for assistance;
9  * the project provides a web site, mailing lists and IRC
10  * channels for your use.
11  *
12  * This program is free software, distributed under the terms of
13  * the GNU General Public License Version 2. See the LICENSE file
14  * at the top of the source tree.
15  */
16
17 /*! \file
18  *
19  * \brief Generated file - Build validators for ARI model objects.
20  */
21
22  /*
23 {{> do-not-edit}}
24  * This file is generated by a mustache template. Please see the original
25  * template in rest-api-templates/ari_model_validators.h.mustache
26  */
27
28 #ifndef _ASTERISK_ARI_MODEL_H
29 #define _ASTERISK_ARI_MODEL_H
30
31 #include "asterisk/json.h"
32
33 /*! @{ */
34
35 /*!
36  * \brief Validator for native Swagger void.
37  *
38  * \param json JSON object to validate.
39  * \returns True (non-zero) if valid.
40  * \returns False (zero) if invalid.
41  */
42 int ari_validate_void(struct ast_json *json);
43
44 /*!
45  * \brief Validator for native Swagger byte.
46  *
47  * \param json JSON object to validate.
48  * \returns True (non-zero) if valid.
49  * \returns False (zero) if invalid.
50  */
51 int ari_validate_byte(struct ast_json *json);
52
53 /*!
54  * \brief Validator for native Swagger boolean.
55  *
56  * \param json JSON object to validate.
57  * \returns True (non-zero) if valid.
58  * \returns False (zero) if invalid.
59  */
60 int ari_validate_boolean(struct ast_json *json);
61
62 /*!
63  * \brief Validator for native Swagger int.
64  *
65  * \param json JSON object to validate.
66  * \returns True (non-zero) if valid.
67  * \returns False (zero) if invalid.
68  */
69 int ari_validate_int(struct ast_json *json);
70
71 /*!
72  * \brief Validator for native Swagger long.
73  *
74  * \param json JSON object to validate.
75  * \returns True (non-zero) if valid.
76  * \returns False (zero) if invalid.
77  */
78 int ari_validate_long(struct ast_json *json);
79
80 /*!
81  * \brief Validator for native Swagger float.
82  *
83  * \param json JSON object to validate.
84  * \returns True (non-zero) if valid.
85  * \returns False (zero) if invalid.
86  */
87 int ari_validate_float(struct ast_json *json);
88
89 /*!
90  * \brief Validator for native Swagger double.
91  *
92  * \param json JSON object to validate.
93  * \returns True (non-zero) if valid.
94  * \returns False (zero) if invalid.
95  */
96 int ari_validate_double(struct ast_json *json);
97
98 /*!
99  * \brief Validator for native Swagger string.
100  *
101  * \param json JSON object to validate.
102  * \returns True (non-zero) if valid.
103  * \returns False (zero) if invalid.
104  */
105 int ari_validate_string(struct ast_json *json);
106
107 /*!
108  * \brief Validator for native Swagger date.
109  *
110  * \param json JSON object to validate.
111  * \returns True (non-zero) if valid.
112  * \returns False (zero) if invalid.
113  */
114 int ari_validate_date(struct ast_json *json);
115
116 /*!
117  * \brief Validator for a Swagger List[]/JSON array.
118  *
119  * \param json JSON object to validate.
120  * \param fn Validator to call on every element in the array.
121  * \returns True (non-zero) if valid.
122  * \returns False (zero) if invalid.
123  */
124 int ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *));
125
126 /*! @} */
127 {{#apis}}
128 {{#api_declaration}}
129 {{#models}}
130
131 /*!
132  * \brief Validator for {{id}}.
133  *
134  * {{{description_dox}}}
135  *
136  * \param json JSON object to validate.
137  * \returns True (non-zero) if valid.
138  * \returns False (zero) if invalid.
139  */
140 int ari_validate_{{c_id}}(struct ast_json *json);
141 {{/models}}
142 {{/api_declaration}}
143 {{/apis}}
144
145 /*
146  * JSON models
147  *
148 {{#apis}}
149 {{#api_declaration}}
150 {{#models}}
151  * {{id}}
152 {{#properties}}
153  * - {{name}}: {{type.name}}{{#required}} (required){{/required}}
154 {{/properties}}
155 {{/models}}
156 {{/api_declaration}}
157 {{/apis}} */
158
159 #endif /* _ASTERISK_ARI_MODEL_H */