65 #include <amxc/amxc.h>
66 #include <amxp/amxp_signal.h>
67 #include <amxp/amxp_slot.h>
79 #include <amxc/amxc_macros.h>
86 UNUSED
const amxc_var_t*
const args,
87 UNUSED amxc_var_t*
const retval,
113 assert_int_equal(
amxd_param_new(¶m,
"templ_param", AMXC_VAR_ID_CSTRING), 0);
116 assert_int_equal(
amxd_param_new(¶m,
"inst_param", AMXC_VAR_ID_BOOL), 0);
118 assert_int_equal(
amxd_param_new(¶m,
"param", AMXC_VAR_ID_UINT32), 0);
123 assert_int_equal(
amxd_param_new(¶m,
"child_param", AMXC_VAR_ID_CSTRING), 0);
126 assert_int_equal(
amxd_param_new(¶m,
"child_param2", AMXC_VAR_ID_BOOL), 0);
128 assert_int_equal(
amxd_param_new(¶m,
"child_param3", AMXC_VAR_ID_UINT64), 0);
150 assert_ptr_not_equal(instance, NULL);
154 assert_ptr_not_equal(instance, NULL);
158 assert_ptr_not_equal(instance, NULL);
161 assert_ptr_equal(instance, NULL);
179 assert_ptr_not_equal(instance, NULL);
182 assert_ptr_equal(instance, NULL);
193 UNUSED
const amxc_var_t*
const args,
194 UNUSED amxc_var_t*
const retval,
197 printf(
"Destroy object %s\n", path);
198 check_expected(path);
224 assert_non_null(
object);
Ambiorix Data Model Default actions header file.
Ambiorix Data Model API header file.
amxd_object_t * amxd_dm_findf(amxd_dm_t *const dm, const char *abs_path,...) __attribute__((format(printf
amxd_status_t amxd_dm_invoke_action(amxd_object_t *object, amxd_param_t *param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval)
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)
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)
Ambiorix Data Model API header file.
enum _amxd_action amxd_action_t
enum _amxd_status amxd_status_t
@ amxd_status_unknown_error
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_destroy(amxd_object_t *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 destroy action implementation.
amxd_object_t amxd_status_t amxd_status_t char * amxd_object_get_path(const amxd_object_t *object, const uint32_t flags)
Get the full path 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_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_object_t * amxd_object_get_instance(const amxd_object_t *object, const char *name, uint32_t index)
Get an instance of the template object.
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 amxd_object_delete(amxd_object_t **object)
Invokes the destroy handler(s) of the object.
void amxd_trans_clean(amxd_trans_t *const trans)
Cleans the transaction object.
amxd_status_t amxd_trans_apply(amxd_trans_t *const trans, amxd_dm_t *const dm)
Applies all previously added actions.
amxd_status_t amxd_trans_add_inst(amxd_trans_t *const trans, const uint32_t index, const char *name)
Adds an instance add action to a transaction.
amxd_status_t amxd_trans_del_inst(amxd_trans_t *const trans, const uint32_t index, const char *name)
Adds an instance delete action to a transaction.
amxd_status_t amxd_trans_select_pathf(amxd_trans_t *const trans, const char *path,...) __attribute__((format(printf
Selects an object using a absolute or relative path.
amxd_status_t amxd_status_t amxd_trans_select_object(amxd_trans_t *trans, const amxd_object_t *const object)
Selects an object using an object pointer.
amxd_status_t amxd_trans_init(amxd_trans_t *const trans)
Initializes a transaction object.
void test_amxd_object_destroy_root(UNUSED void **state)
void test_amxd_object_destroy_cb_order(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_delete(UNUSED void **state)
void test_amxd_object_delete_with_cb(UNUSED void **state)
static amxd_status_t check_callback_order(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_destroy_action_can_not_fail(UNUSED void **state)
static amxd_object_t * test_build_dm(void)