64 #include <amxc/amxc.h>
65 #include <amxp/amxp_signal.h>
66 #include <amxp/amxp_slot.h>
77 #include <amxc/amxc_macros.h>
90 UNUSED
const amxc_var_t*
const args,
91 UNUSED amxc_var_t*
const retval,
99 UNUSED
const amxc_var_t*
const args,
100 amxc_var_t*
const retval,
102 amxc_var_t* value = NULL;
105 assert_ptr_equal(param, NULL);
110 amxc_var_set_type(retval, AMXC_VAR_ID_HTABLE);
111 value = amxc_var_add_new_key(retval,
"TestParam");
112 amxc_var_set(cstring_t, value,
"Test Data");
114 amxc_var_clean(retval);
133 assert_int_equal(
amxd_param_new(¶m,
"templ_param", AMXC_VAR_ID_CSTRING), 0);
136 assert_int_equal(
amxd_param_new(¶m,
"inst_param", AMXC_VAR_ID_BOOL), 0);
138 assert_int_equal(
amxd_param_new(¶m,
"param", AMXC_VAR_ID_UINT32), 0);
143 assert_int_equal(
amxd_param_new(¶m,
"child_param", AMXC_VAR_ID_CSTRING), 0);
146 assert_int_equal(
amxd_param_new(¶m,
"child_param2", AMXC_VAR_ID_BOOL), 0);
148 assert_int_equal(
amxd_param_new(¶m,
"child_param3", AMXC_VAR_ID_UINT64), 0);
160 amxc_var_init(&value);
176 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
177 assert_string_equal(amxc_var_constcast(cstring_t, &value),
"Test Data");
181 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
182 assert_string_equal(amxc_var_constcast(cstring_t, &value),
"Test Data");
188 assert_int_equal(
called, 3);
190 amxc_var_clean(&value);
199 amxc_var_init(&value);
207 amxc_var_clean(&value);
217 amxc_var_init(&value);
233 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
234 assert_string_equal(amxc_var_constcast(cstring_t, &value),
"Test Data");
240 assert_int_equal(
called, 1);
242 amxc_var_clean(&value);
252 amxc_var_init(&value);
266 amxc_var_clean(&value);
276 amxc_var_init(&value);
292 assert_int_equal(amxc_var_type_of(&value), AMXC_VAR_ID_CSTRING);
293 assert_string_equal(amxc_var_constcast(cstring_t, &value),
"Test Data");
299 assert_int_equal(
called, 1);
301 amxc_var_clean(&value);
307 amxc_var_t* data = NULL;
318 amxc_var_delete(&data);
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_add_action_cb(amxd_object_t *const object, const amxd_action_t reason, amxd_action_fn_t fn, void *priv)
void amxd_object_enable_action_cb(const amxd_object_t *const object, const amxd_action_t reason, amxd_action_fn_t fn, bool enable)
void amxd_object_set_action_cb_data(amxd_object_t *const object, const amxd_action_t reason, amxd_action_fn_t fn, void *data)
amxd_status_t amxd_object_remove_action_cb(amxd_object_t *const object, const amxd_action_t reason, amxd_action_fn_t fn)
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)
enum _amxd_action amxd_action_t
enum _amxd_status amxd_status_t
@ amxd_status_parameter_not_found
@ amxd_status_unknown_error
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_object_t * amxd_object_get_child(const amxd_object_t *object, const char *name)
Get a child of 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_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_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_add_action_cb(UNUSED void **state)
void test_amxd_object_disable_action_cb(UNUSED void **state)
static amxd_status_t amxd_action_dummy_cb(UNUSED amxd_object_t *const object, UNUSED amxd_param_t *const param, UNUSED amxd_action_t reason, UNUSED const amxc_var_t *const args, UNUSED amxc_var_t *const retval, UNUSED void *priv)
void test_amxd_object_add_action_cb_invalid_args(UNUSED void **state)
static amxd_status_t amxd_action_object_test_cb(amxd_object_t *const object, amxd_param_t *const param, amxd_action_t reason, UNUSED const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
void test_amxd_object_remove_action_cb_invalid_args(UNUSED void **state)
void test_amxd_object_action_cb_data(UNUSED void **state)
static amxd_status_t status
void test_amxd_object_remove_action_cb(UNUSED void **state)
static void * expected_priv
static amxd_action_t expected_reason
static amxd_object_t * expected_obj
static amxd_object_t * test_build_dm(void)