64 #include <amxc/amxc.h>
65 #include <amxp/amxp_signal.h>
66 #include <amxp/amxp_slot.h>
75 #include <amxc/amxc_macros.h>
90 assert_int_equal(
amxd_param_new(¶m,
"templ_param", AMXC_VAR_ID_CSTRING), 0);
93 assert_int_equal(
amxd_param_new(¶m,
"inst_param", AMXC_VAR_ID_BOOL), 0);
95 assert_int_equal(
amxd_param_new(¶m,
"param", AMXC_VAR_ID_UINT32), 0);
100 assert_int_equal(
amxd_param_new(¶m,
"child_param", AMXC_VAR_ID_CSTRING), 0);
103 assert_int_equal(
amxd_param_new(¶m,
"child_param2", AMXC_VAR_ID_BOOL), 0);
105 assert_int_equal(
amxd_param_new(¶m,
"child_param3", AMXC_VAR_ID_UINT64), 0);
123 assert_int_equal(
amxd_param_new(¶m,
"test_param", AMXC_VAR_ID_CSTRING), 0);
126 assert_int_equal(
amxd_param_new(¶m,
"test_param", AMXC_VAR_ID_CSTRING), 0);
130 assert_int_equal(
amxd_param_new(¶m,
"test_param2", AMXC_VAR_ID_CSTRING), 0);
134 assert_int_equal(
amxd_param_new(¶m,
"test_param3", AMXC_VAR_ID_CSTRING), 0);
138 assert_int_equal(
amxd_param_new(¶m,
"templ_param1", AMXC_VAR_ID_CSTRING), 0);
140 assert_int_equal(
amxd_param_new(¶m,
"templ_param2", AMXC_VAR_ID_CSTRING), 0);
143 assert_int_equal(
amxd_param_new(¶m,
"templ_param3", AMXC_VAR_ID_CSTRING), 0);
146 assert_int_equal(
amxd_param_new(¶m,
"templ_param4", AMXC_VAR_ID_CSTRING), 0);
162 assert_int_equal(
amxd_param_new(¶m,
"test_func", AMXC_VAR_ID_CSTRING), 0);
184 assert_int_equal(
amxd_param_new(¶m,
"templ_param_x", AMXC_VAR_ID_CSTRING), 0);
186 assert_int_equal(
amxd_param_new(¶m,
"templ_param", AMXC_VAR_ID_CSTRING), 0);
188 assert_int_equal(
amxd_param_new(¶m,
"child_param", AMXC_VAR_ID_CSTRING), 0);
193 assert_ptr_not_equal(param, NULL);
201 assert_int_equal(
amxd_param_new(¶m,
"new_param", AMXC_VAR_ID_CSTRING), 0);
205 assert_int_equal(
amxd_param_new(¶m,
"new_templ_param", AMXC_VAR_ID_CSTRING), 0);
213 assert_ptr_not_equal(param, NULL);
217 assert_ptr_not_equal(instance_object, NULL);
222 assert_ptr_not_equal(param, NULL);
239 amxc_var_init(&value);
245 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
248 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT32);
253 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_BOOL);
255 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT32);
258 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
260 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_BOOL);
262 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT64);
266 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
268 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_BOOL);
270 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT64);
278 amxc_var_clean(&value);
287 char* str_val = NULL;
288 uint32_t uint32_val = 0;
289 uint64_t uint64_val = 0;
290 int32_t int32_val = 0;
291 int64_t int64_val = 0;
292 bool bool_val =
false;
293 double double_val = 0;
301 assert_int_equal(
status, 0);
302 assert_ptr_not_equal(str_val, NULL);
303 assert_string_equal(str_val,
"1234");
308 assert_int_equal(
status, 0);
309 assert_int_equal(uint32_val, 1234);
311 assert_int_equal(
status, 0);
312 assert_int_equal(uint64_val, 1234);
314 assert_int_equal(
status, 0);
315 assert_int_equal(int32_val, 1234);
317 assert_int_equal(int64_val, 1234);
318 assert_int_equal(
status, 0);
320 assert_int_equal(
status, 0);
321 assert_false(bool_val);
323 assert_int_equal(
status, 0);
324 assert_true(double_val == 1234);
327 assert_int_equal(uint32_val, 1234);
329 assert_int_equal(uint64_val, 1234);
331 assert_int_equal(int32_val, 1234);
333 assert_int_equal(
status, 0);
335 assert_false(bool_val);
337 assert_true(double_val == 1234);
340 assert_int_not_equal(
status, 0);
342 assert_int_not_equal(
status, 0);
344 assert_int_not_equal(
status, 0);
346 assert_int_not_equal(
status, 0);
348 assert_int_not_equal(
status, 0);
350 assert_int_not_equal(
status, 0);
352 assert_int_not_equal(
status, 0);
355 assert_int_not_equal(
status, 0);
357 assert_int_not_equal(
status, 0);
359 assert_int_not_equal(
status, 0);
361 assert_int_not_equal(
status, 0);
363 assert_int_not_equal(
status, 0);
365 assert_int_not_equal(
status, 0);
367 assert_int_not_equal(
status, 0);
378 amxc_var_init(&value);
386 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
389 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT32);
394 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_BOOL);
396 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT32);
399 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
402 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT32);
405 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
407 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_BOOL);
409 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT64);
413 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
415 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_BOOL);
417 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT64);
425 amxc_var_clean(&value);
435 amxc_var_init(&value);
439 amxc_var_set(uint32_t, &value, 123);
441 amxc_var_clean(&value);
443 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
444 assert_string_equal(amxc_var_constcast(cstring_t, &value),
"123");
445 amxc_var_set(uint32_t, &value, 123);
453 amxc_var_clean(&value);
455 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT32);
463 amxc_var_clean(&value);
473 amxc_var_init(&value);
512 amxc_var_clean(&value);
522 amxc_var_init(&values);
526 amxc_var_set_type(&values, AMXC_VAR_ID_HTABLE);
527 amxc_var_add_key(cstring_t, &values,
"param",
"123");
528 amxc_var_add_key(uint32_t, &values,
"templ_param", 123);
530 amxc_var_clean(&values);
532 value = amxc_var_get_path(&values,
"templ_param", AMXC_VAR_FLAG_DEFAULT);
533 assert_int_equal(amxc_var_type_of(value), AMXC_VAR_ID_CSTRING);
534 assert_string_equal(amxc_var_constcast(cstring_t, value),
"123");
535 value = amxc_var_get_path(&values,
"param", AMXC_VAR_FLAG_DEFAULT);
536 assert_int_equal(amxc_var_type_of(value), AMXC_VAR_ID_UINT32);
537 assert_int_equal(amxc_var_constcast(uint32_t, value), 123);
539 amxc_var_set_type(&values, AMXC_VAR_ID_HTABLE);
540 amxc_var_add_key(cstring_t, &values,
"fake_news",
"123");
541 amxc_var_add_key(uint32_t, &values,
"invalid", 123);
545 amxc_var_set_type(&values, AMXC_VAR_ID_LIST);
548 amxc_var_clean(&values);
558 amxc_var_init(&value);
564 amxc_var_set(uint32_t, &value, 123);
566 amxc_var_clean(&value);
568 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
569 assert_string_equal(amxc_var_constcast(cstring_t, &value),
"123");
570 amxc_var_set(uint32_t, &value, 123);
578 amxc_var_clean(&value);
580 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_UINT32);
597 amxc_var_init(&values);
602 amxc_var_set_type(&values, AMXC_VAR_ID_HTABLE);
603 amxc_var_add_key(cstring_t, &values,
"param",
"123");
604 amxc_var_add_key(uint32_t, &values,
"templ_param", 123);
606 amxc_var_clean(&values);
608 value = amxc_var_get_path(&values,
"templ_param", AMXC_VAR_FLAG_DEFAULT);
609 assert_int_equal(amxc_var_type_of(value), AMXC_VAR_ID_CSTRING);
610 assert_string_equal(amxc_var_constcast(cstring_t, value),
"123");
611 value = amxc_var_get_path(&values,
"param", AMXC_VAR_FLAG_DEFAULT);
612 assert_int_equal(amxc_var_type_of(value), AMXC_VAR_ID_UINT32);
613 assert_int_equal(amxc_var_constcast(uint32_t, value), 123);
615 amxc_var_set_type(&values, AMXC_VAR_ID_HTABLE);
616 amxc_var_add_key(cstring_t, &values,
"fake_news",
"123");
617 amxc_var_add_key(uint32_t, &values,
"invalid", 123);
621 amxc_var_set_type(&values, AMXC_VAR_ID_LIST);
624 amxc_var_clean(&values);
635 amxc_var_init(¶ms);
640 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
641 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
645 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
646 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
649 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
650 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 2);
653 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
654 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 2);
657 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
658 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
662 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
663 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 2);
665 amxc_htable_for_each(it, amxc_var_constcast(amxc_htable_t, ¶ms)) {
666 const char* names[2] = {
"child_param2",
"child_param3" };
667 const char* param_name = amxc_htable_it_get_key(it);
668 assert_string_equal(param_name, names[index]);
673 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
674 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
679 amxc_var_clean(¶ms);
690 amxc_var_init(¶ms);
697 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
698 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
702 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
703 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
706 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
707 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 2);
710 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
711 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 2);
714 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
715 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
719 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
720 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 2);
722 amxc_htable_for_each(it, amxc_var_constcast(amxc_htable_t, ¶ms)) {
723 const char* names[2] = {
"child_param2",
"child_param3" };
724 const char* param_name = amxc_htable_it_get_key(it);
725 assert_string_equal(param_name, names[index]);
730 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
731 assert_int_equal(amxc_htable_size(amxc_var_constcast(amxc_htable_t, ¶ms)), 3);
736 amxc_var_clean(¶ms);
747 amxc_var_init(&plist);
752 assert_int_equal(amxc_var_type_of(&plist), AMXC_VAR_ID_LIST);
754 amxc_llist_for_each(it, (amxc_var_constcast(amxc_llist_t, &plist))) {
755 const char* names[3] = {
"templ_param",
"inst_param",
"param" };
756 amxc_var_t* param_name = amxc_var_from_llist_it(it);
757 assert_int_equal(amxc_var_type_of(param_name), AMXC_VAR_ID_CSTRING);
758 assert_string_equal(amxc_var_constcast(cstring_t, param_name), names[index]);
763 assert_int_equal(amxc_var_type_of(&plist), AMXC_VAR_ID_LIST);
765 amxc_llist_for_each(it, (amxc_var_constcast(amxc_llist_t, &plist))) {
766 const char* names[3] = {
"templ_param",
"inst_param",
"param" };
767 amxc_var_t* param_name = amxc_var_from_llist_it(it);
768 assert_int_equal(amxc_var_type_of(param_name), AMXC_VAR_ID_CSTRING);
769 assert_string_equal(amxc_var_constcast(cstring_t, param_name), names[index]);
776 assert_int_equal(amxc_var_type_of(&plist), AMXC_VAR_ID_LIST);
777 amxc_llist_for_each(it, (amxc_var_constcast(amxc_llist_t, &plist))) {
778 const char* names[2] = {
"inst_param",
"param" };
779 amxc_var_t* param_name = amxc_var_from_llist_it(it);
780 assert_int_equal(amxc_var_type_of(param_name), AMXC_VAR_ID_CSTRING);
781 assert_string_equal(amxc_var_constcast(cstring_t, param_name), names[index]);
786 assert_int_equal(amxc_var_type_of(&plist), AMXC_VAR_ID_LIST);
788 amxc_llist_for_each(it, (amxc_var_constcast(amxc_llist_t, &plist))) {
789 const char* names[2] = {
"child_param2",
"child_param3" };
790 amxc_var_t* param_name = amxc_var_from_llist_it(it);
791 assert_int_equal(amxc_var_type_of(param_name), AMXC_VAR_ID_CSTRING);
792 assert_string_equal(amxc_var_constcast(cstring_t, param_name), names[index]);
797 assert_int_equal(amxc_var_type_of(&plist), AMXC_VAR_ID_LIST);
799 amxc_llist_for_each(it, (amxc_var_constcast(amxc_llist_t, &plist))) {
800 const char* names[3] = {
"child_param",
"child_param2",
"child_param3" };
801 amxc_var_t* param_name = amxc_var_from_llist_it(it);
802 assert_int_equal(amxc_var_type_of(param_name), AMXC_VAR_ID_CSTRING);
803 assert_string_equal(amxc_var_constcast(cstring_t, param_name), names[index]);
808 assert_int_equal(amxc_var_type_of(&plist), AMXC_VAR_ID_LIST);
810 amxc_llist_for_each(it, (amxc_var_constcast(amxc_llist_t, &plist))) {
811 const char* names[2] = {
"child_param2",
"child_param3" };
812 amxc_var_t* param_name = amxc_var_from_llist_it(it);
813 assert_int_equal(amxc_var_type_of(param_name), AMXC_VAR_ID_CSTRING);
814 assert_string_equal(amxc_var_constcast(cstring_t, param_name), names[index]);
820 assert_int_equal(amxc_var_type_of(&plist), AMXC_VAR_ID_LIST);
822 amxc_llist_for_each(it, (amxc_var_constcast(amxc_llist_t, &plist))) {
823 const char* names[3] = {
"child_param",
"child_param2",
"child_param3" };
824 amxc_var_t* param_name = amxc_var_from_llist_it(it);
825 assert_int_equal(amxc_var_type_of(param_name), AMXC_VAR_ID_CSTRING);
826 assert_string_equal(amxc_var_constcast(cstring_t, param_name), names[index]);
833 amxc_var_clean(&plist);
852 assert_ptr_not_equal(
object, NULL);
879 assert_ptr_not_equal(
object, NULL);
896 const amxc_htable_t* ht_params = NULL;
898 amxc_var_init(¶ms);
903 assert_non_null(
object);
905 assert_non_null(param);
911 assert_int_equal(rv, 0);
912 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
913 ht_params = amxc_var_constcast(amxc_htable_t, ¶ms);
914 assert_int_equal(amxc_htable_size(ht_params), 1);
920 assert_int_equal(rv, 0);
921 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
922 ht_params = amxc_var_constcast(amxc_htable_t, ¶ms);
923 assert_int_equal(amxc_htable_size(ht_params), 0);
927 assert_int_equal(rv, 0);
928 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
929 amxc_var_dump(¶ms, STDOUT_FILENO);
930 ht_params = amxc_var_constcast(amxc_htable_t, ¶ms);
931 assert_int_equal(amxc_htable_size(ht_params), 3);
935 assert_int_equal(rv, 0);
936 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
937 ht_params = amxc_var_constcast(amxc_htable_t, ¶ms);
938 assert_int_equal(amxc_htable_size(ht_params), 1);
941 assert_int_equal(rv, 0);
942 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
943 ht_params = amxc_var_constcast(amxc_htable_t, ¶ms);
944 assert_int_equal(amxc_htable_size(ht_params), 3);
947 assert_int_equal(rv, 0);
948 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
949 ht_params = amxc_var_constcast(amxc_htable_t, ¶ms);
950 assert_int_equal(amxc_htable_size(ht_params), 3);
953 assert_int_equal(rv, 0);
954 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_HTABLE);
955 ht_params = amxc_var_constcast(amxc_htable_t, ¶ms);
956 assert_int_equal(amxc_htable_size(ht_params), 2);
958 amxc_var_clean(¶ms);
969 amxc_var_init(¶ms);
974 assert_non_null(
object);
977 assert_int_not_equal(rv, 0);
978 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_NULL);
981 assert_int_not_equal(rv, 0);
982 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_NULL);
985 assert_int_not_equal(rv, 0);
986 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_NULL);
989 assert_int_not_equal(rv, 0);
990 assert_int_equal(amxc_var_type_of(¶ms), AMXC_VAR_ID_NULL);
992 amxc_var_clean(¶ms);
1001 assert_int_equal(
amxd_param_new(¶m,
"test_param", AMXC_VAR_ID_CSTRING), 0);
1032 amxc_ts_t* tsp = NULL;
Ambiorix Data Model Default actions header file.
amxd_status_t amxd_action_object_read(amxd_object_t *const object, amxd_param_t *const param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
amxd_status_t amxd_action_object_write(amxd_object_t *const object, amxd_param_t *const param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
Ambiorix Data Model API header file.
Ambiorix Data Model API header file.
amxd_status_t amxd_object_add_action_cb(amxd_object_t *const object, const amxd_action_t reason, amxd_action_fn_t fn, void *priv)
amxd_status_t amxd_object_list_params(amxd_object_t *const object, amxc_var_t *const list, amxd_dm_access_t access)
amxd_status_t amxd_object_get_params_filtered(amxd_object_t *const object, amxc_var_t *const params, const char *filter, amxd_dm_access_t access)
uint32_t amxd_object_get_param_count(amxd_object_t *object, amxd_dm_access_t access)
void amxd_param_unset_flag(amxd_param_t *param, const char *flag)
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)
bool amxd_param_has_flag(const amxd_param_t *const param, const char *flag)
void amxd_param_set_flag(amxd_param_t *param, const char *flag)
amxd_object_t * amxd_param_get_owner(const amxd_param_t *const param)
amxd_status_t amxd_param_delete(amxd_param_t **param)
enum _amxd_status amxd_status_t
@ amxd_dm_access_protected
amxd_object_t * amxd_dm_get_root(amxd_dm_t *const dm)
Fetches the root object of the data model.
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_list(amxd_object_t *const object, amxd_param_t *const param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
Default object list action implementation.
amxd_object_t * amxd_object_get_parent(const amxd_object_t *const object)
Get the parent object.
amxd_object_t * amxd_object_get_child(const amxd_object_t *object, const char *name)
Get a child of the object.
amxd_object_t * amxd_object_findf(amxd_object_t *object, const char *rel_path,...) __attribute__((format(printf
Find an object in the data model tree, starting from an object.
amxd_object_t * amxd_object_get(const amxd_object_t *object, const char *name)
Get an instance or child of an 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.
#define amxd_object_get_value(type, object, name, status)
Helper macro for getting a value.
amxd_status_t amxd_object_set_params(amxd_object_t *const object, amxc_var_t *const values)
Sets multiple parameter values in a data model object.
amxd_status_t amxd_object_get_params(amxd_object_t *const object, amxc_var_t *const params, amxd_dm_access_t access)
Gets all parameter values of an object.
amxd_status_t amxd_object_set_param(amxd_object_t *const object, const char *name, amxc_var_t *const value)
Sets a value for a parameter in a data model object.
#define amxd_object_set_value(type, object, name, value)
Helper macro for setting a value.
amxd_param_t * amxd_object_get_param_def(const amxd_object_t *const object, const char *name)
Gets a parameter definition from an object.
const amxc_var_t * amxd_object_get_param_value(const amxd_object_t *const object, const char *name)
Gets the variant in which the parameter value is stored.
amxd_status_t amxd_object_get_param(amxd_object_t *const object, const char *name, amxc_var_t *const value)
Gets a single parameter value.
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_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 amxd_object_delete(amxd_object_t **object)
Invokes the destroy handler(s) of the object.
amxc_llist_t derived_objects
amxc_llist_it_t derived_from
static amxd_status_t status
void test_amxd_object_get_params_invalid_expr_filter(UNUSED void **state)
void test_amxd_object_list_parameters(UNUSED void **state)
void test_amxd_object_get_parameter_value_type(UNUSED void **state)
void test_amxd_object_get_parameters_value_with_cb(UNUSED void **state)
void test_amxd_object_add_param_invalid_arg(UNUSED void **state)
void test_amxd_object_get_parameter(UNUSED void **state)
void test_amxd_object_get_params_filtered(UNUSED void **state)
void test_amxd_object_set_parameter_value(UNUSED void **state)
void test_amxd_object_set_parameter_value_with_cb(UNUSED void **state)
void test_amxd_object_count_parameters(UNUSED void **state)
void test_amxd_object_set_parameters_value(UNUSED void **state)
void test_amxd_object_get_helpers(UNUSED void **state)
void test_amxd_object_get_parameter_value_with_cb(UNUSED void **state)
void test_amxd_object_set_parameter_value_type(UNUSED void **state)
void test_amxd_object_parameter_flags(UNUSED void **state)
void test_amxd_object_count_parameters_with_cb(UNUSED void **state)
void test_amxd_object_add_parameter(UNUSED void **state)
void test_amxd_object_set_parameters_value_with_cb(UNUSED void **state)
void test_amxd_object_get_parameter_value(UNUSED void **state)
void test_amxd_object_get_parameters_value(UNUSED void **state)
static amxd_object_t * test_build_dm(void)
void test_amxd_object_set(UNUSED void **state)