64 #include <amxc/amxc.h>
65 #include <amxp/amxp_signal.h>
66 #include <amxp/amxp_slot.h>
78 #include <amxc/amxc_macros.h>
85 amxc_var_t* data = NULL;
86 amxc_var_t* sub_data = NULL;
89 amxc_var_set_type(data, AMXC_VAR_ID_HTABLE);
90 amxc_var_add_key(cstring_t, data,
"Text",
"Hello World");
91 amxc_var_add_key(uint32_t, data,
"Number", 100);
92 sub_data = amxc_var_add_key(amxc_htable_t, data,
"Sub", NULL);
93 amxc_var_add_key(cstring_t, sub_data,
"Text",
"Hello Universe");
94 amxc_var_add_key(
bool, sub_data,
"Boolean",
true);
103 assert_int_equal(
amxd_param_new(¶m,
"templ_param", AMXC_VAR_ID_CSTRING), 0);
106 assert_int_equal(
amxd_param_new(¶m,
"inst_param", AMXC_VAR_ID_BOOL), 0);
108 assert_int_equal(
amxd_param_new(¶m,
"param", AMXC_VAR_ID_UINT32), 0);
115 assert_int_equal(
amxd_param_new(¶m,
"child_param", AMXC_VAR_ID_CSTRING), 0);
118 assert_int_equal(
amxd_param_new(¶m,
"child_param2", AMXC_VAR_ID_BOOL), 0);
120 assert_int_equal(
amxd_param_new(¶m,
"child_param3", AMXC_VAR_ID_UINT64), 0);
136 amxc_var_init(&retval);
137 amxc_var_init(&args);
141 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
144 assert_int_equal(amxc_var_type_of(&retval), AMXC_VAR_ID_HTABLE);
145 amxc_var_dump(&retval, STDOUT_FILENO);
147 assert_ptr_not_equal(amxc_var_get_path(&retval,
"name", AMXC_VAR_FLAG_DEFAULT), NULL);
148 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
149 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
150 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
151 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
152 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
153 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
154 assert_ptr_not_equal(amxc_var_get_path(&retval,
"path", AMXC_VAR_FLAG_DEFAULT), NULL);
155 assert_ptr_not_equal(amxc_var_get_path(&retval,
"object", AMXC_VAR_FLAG_DEFAULT), NULL);
156 assert_ptr_equal(amxc_var_get_path(&retval,
"index", AMXC_VAR_FLAG_DEFAULT), NULL);
157 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param", AMXC_VAR_FLAG_DEFAULT), NULL);
158 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
159 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
160 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
161 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
162 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
163 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
164 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
165 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
166 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
167 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
168 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
169 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param", AMXC_VAR_FLAG_DEFAULT), NULL);
170 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
171 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
172 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
173 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
174 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
175 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
176 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
177 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
178 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
179 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
180 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
181 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent1!'", AMXC_VAR_FLAG_DEFAULT), NULL);
182 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent2!'", AMXC_VAR_FLAG_DEFAULT), NULL);
183 assert_ptr_equal(amxc_var_get_path(&retval,
"objects", AMXC_VAR_FLAG_DEFAULT), NULL);
185 amxc_var_clean(&retval);
187 assert_int_equal(amxc_var_type_of(&retval), AMXC_VAR_ID_HTABLE);
188 amxc_var_dump(&retval, STDOUT_FILENO);
190 assert_ptr_not_equal(amxc_var_get_path(&retval,
"name", AMXC_VAR_FLAG_DEFAULT), NULL);
191 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
192 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
193 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
194 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
195 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
196 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
197 assert_ptr_not_equal(amxc_var_get_path(&retval,
"path", AMXC_VAR_FLAG_DEFAULT), NULL);
198 assert_ptr_not_equal(amxc_var_get_path(&retval,
"object", AMXC_VAR_FLAG_DEFAULT), NULL);
199 assert_ptr_not_equal(amxc_var_get_path(&retval,
"index", AMXC_VAR_FLAG_DEFAULT), NULL);
200 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param", AMXC_VAR_FLAG_DEFAULT), NULL);
201 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
202 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
203 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
204 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
205 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
206 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
207 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
208 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
209 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
210 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
211 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
212 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param", AMXC_VAR_FLAG_DEFAULT), NULL);
213 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
214 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
215 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
216 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
217 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
218 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
219 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
220 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
221 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
222 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
223 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
224 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent1!'", AMXC_VAR_FLAG_DEFAULT), NULL);
225 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent2!'", AMXC_VAR_FLAG_DEFAULT), NULL);
226 assert_ptr_not_equal(amxc_var_get_path(&retval,
"objects'", AMXC_VAR_FLAG_DEFAULT), NULL);
227 assert_ptr_not_equal(amxc_var_get_path(&retval,
"objects.0", AMXC_VAR_FLAG_DEFAULT), NULL);
233 amxc_var_clean(&retval);
235 assert_int_equal(amxc_var_type_of(&retval), AMXC_VAR_ID_HTABLE);
240 amxc_var_clean(&retval);
241 amxc_var_clean(&args);
250 amxc_var_init(&retval);
256 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param", AMXC_VAR_FLAG_DEFAULT), NULL);
257 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
258 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
259 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
260 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
261 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
262 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
263 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
264 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
265 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
266 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
267 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
268 assert_ptr_not_equal(amxc_var_get_path(&retval,
"templ_param", AMXC_VAR_FLAG_DEFAULT), NULL);
269 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
270 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
271 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
272 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
273 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
274 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
275 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
276 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
277 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
278 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
279 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
282 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param", AMXC_VAR_FLAG_DEFAULT), NULL);
283 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
284 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
285 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
286 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
287 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
288 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
289 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
290 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
291 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
292 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
293 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
294 assert_ptr_not_equal(amxc_var_get_path(&retval,
"inst_param", AMXC_VAR_FLAG_DEFAULT), NULL);
295 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
296 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
297 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
298 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
299 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
300 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
301 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
302 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
303 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
304 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
305 assert_ptr_not_equal(amxc_var_get_path(&retval,
"param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
310 amxc_var_clean(&retval);
320 amxc_var_init(&retval);
321 amxc_var_init(&args);
326 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
331 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get", AMXC_VAR_FLAG_DEFAULT), NULL);
332 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
333 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
334 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
335 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
336 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.name", AMXC_VAR_FLAG_DEFAULT), NULL);
337 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
338 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
339 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments", AMXC_VAR_FLAG_DEFAULT), NULL);
340 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0", AMXC_VAR_FLAG_DEFAULT), NULL);
341 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
342 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.attributes.out", AMXC_VAR_FLAG_DEFAULT), NULL);
343 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.attributes.in", AMXC_VAR_FLAG_DEFAULT), NULL);
344 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.attributes.mandatory", AMXC_VAR_FLAG_DEFAULT), NULL);
345 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.attributes.strict", AMXC_VAR_FLAG_DEFAULT), NULL);
346 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.name", AMXC_VAR_FLAG_DEFAULT), NULL);
347 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
348 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_get.arguments.0.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
350 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set", AMXC_VAR_FLAG_DEFAULT), NULL);
351 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
352 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
353 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
354 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
355 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.name", AMXC_VAR_FLAG_DEFAULT), NULL);
356 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
357 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
358 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments", AMXC_VAR_FLAG_DEFAULT), NULL);
359 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0", AMXC_VAR_FLAG_DEFAULT), NULL);
360 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
361 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.attributes.out", AMXC_VAR_FLAG_DEFAULT), NULL);
362 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.attributes.in", AMXC_VAR_FLAG_DEFAULT), NULL);
363 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.attributes.mandatory", AMXC_VAR_FLAG_DEFAULT), NULL);
364 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.attributes.strict", AMXC_VAR_FLAG_DEFAULT), NULL);
365 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.name", AMXC_VAR_FLAG_DEFAULT), NULL);
366 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
367 assert_ptr_not_equal(amxc_var_get_path(&retval,
"_set.arguments.0.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
372 amxc_var_clean(&args);
373 amxc_var_clean(&retval);
382 amxc_var_init(&retval);
388 amxc_var_dump(&retval, STDOUT_FILENO);
389 assert_ptr_not_equal(amxc_var_get_path(&retval,
"MyEvent1!", AMXC_VAR_FLAG_DEFAULT), NULL);
390 assert_ptr_equal(amxc_var_get_path(&retval,
"'MyEvent1!'.0", AMXC_VAR_FLAG_DEFAULT), NULL);
391 assert_ptr_not_equal(amxc_var_get_path(&retval,
"MyEvent2!", AMXC_VAR_FLAG_DEFAULT), NULL);
392 assert_ptr_not_equal(amxc_var_get_path(&retval,
"'MyEvent2!'.0", AMXC_VAR_FLAG_DEFAULT), NULL);
393 assert_ptr_not_equal(amxc_var_get_path(&retval,
"'MyEvent2!'.1", AMXC_VAR_FLAG_DEFAULT), NULL);
394 assert_ptr_not_equal(amxc_var_get_path(&retval,
"'MyEvent2!'.2", AMXC_VAR_FLAG_DEFAULT), NULL);
395 assert_ptr_not_equal(amxc_var_get_path(&retval,
"'MyEvent2!'.3", AMXC_VAR_FLAG_DEFAULT), NULL);
396 assert_ptr_equal(amxc_var_get_path(&retval,
"'MyEvent2!'.4", AMXC_VAR_FLAG_DEFAULT), NULL);
399 assert_ptr_not_equal(amxc_var_get_path(&retval,
"MyEvent1!", AMXC_VAR_FLAG_DEFAULT), NULL);
400 assert_ptr_not_equal(amxc_var_get_path(&retval,
"MyEvent2!", AMXC_VAR_FLAG_DEFAULT), NULL);
405 amxc_var_clean(&retval);
Ambiorix Data Model Default actions header file.
Ambiorix Data Model API header file.
Ambiorix Data Model RPC methods API header file.
Ambiorix Data Model API header file.
amxd_status_t amxd_object_describe(amxd_object_t *const object, amxc_var_t *const value, uint32_t flags, amxd_dm_access_t access)
Ambiorix Data Model API header file.
amxd_status_t amxd_object_describe_events(amxd_object_t *const object, amxc_var_t *const value, amxd_dm_access_t access)
amxd_status_t amxd_object_describe_params(amxd_object_t *const object, amxc_var_t *const value, amxd_dm_access_t access)
amxd_status_t amxd_param_new(amxd_param_t **param, const char *name, const uint32_t type)
amxd_status_t amxd_param_set_attr(amxd_param_t *param, const amxd_pattr_id_t attr, const bool enable)
#define AMXD_OBJECT_ALL
List and describe flag.
@ amxd_dm_access_protected
amxd_status_t amxd_dm_add_root_object(amxd_dm_t *const dm, amxd_object_t *const object)
Adds an object to the root of the data model.
amxd_status_t amxd_dm_init(amxd_dm_t *dm)
Initializes a data model structure.
void amxd_dm_clean(amxd_dm_t *dm)
Cleans a data model structure.
amxd_status_t amxd_action_object_describe(amxd_object_t *object, amxd_param_t *param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
Default object describe action implementation.
amxd_status_t amxd_object_add_event_ext(amxd_object_t *const object, const char *event_name, amxc_var_t *event_data)
Adds an event definition to the object.
amxd_status_t amxd_object_add_event(amxd_object_t *const object, const char *event_name)
Adds an event definition to the object.
amxd_status_t amxd_object_add_object(amxd_object_t *const parent, amxd_object_t *const child)
Adds an object in the data model tree.
amxd_status_t amxd_object_add_param(amxd_object_t *const object, amxd_param_t *const param)
Adds a parameter definition to an object.
amxd_status_t amxd_object_describe_functions(amxd_object_t *const object, amxc_var_t *const value, amxd_dm_access_t access)
Fetches the full object RPC method definitions in a variant.
amxd_status_t amxd_object_set_attr(amxd_object_t *const object, const amxd_oattr_id_t attr, const bool enable)
Sets or unsets an object attribute.
amxd_status_t amxd_object_new_instance(amxd_object_t **object, amxd_object_t *templ, const char *name, uint32_t index, amxc_var_t *values)
Data model object constructor function.
amxd_status_t amxd_object_new(amxd_object_t **object, const amxd_object_type_t type, const char *name)
Data model object constructor function.
void test_amxd_object_describe_params(UNUSED void **state)
void test_amxd_object_describe_functions(UNUSED void **state)
void test_amxd_object_describe_events(UNUSED void **state)
void test_amxd_object_describe(UNUSED void **state)
static amxd_object_t * test_build_dm(void)