64 #include <amxc/amxc.h>
65 #include <amxp/amxp_signal.h>
66 #include <amxp/amxp_slot.h>
77 #include <amxc/amxc_macros.h>
92 assert_int_equal(
amxd_param_new(¶m,
"templ_param", AMXC_VAR_ID_CSTRING), 0);
95 assert_int_equal(
amxd_param_new(¶m,
"inst_param", AMXC_VAR_ID_BOOL), 0);
97 assert_int_equal(
amxd_param_new(¶m,
"param", AMXC_VAR_ID_UINT32), 0);
101 assert_int_equal(
amxd_param_new(¶m,
"ro_param", AMXC_VAR_ID_UINT32), 0);
107 assert_int_equal(
amxd_param_new(¶m,
"child_param", AMXC_VAR_ID_CSTRING), 0);
110 assert_int_equal(
amxd_param_new(¶m,
"child_param2", AMXC_VAR_ID_BOOL), 0);
112 assert_int_equal(
amxd_param_new(¶m,
"child_param3", AMXC_VAR_ID_UINT64), 0);
119 assert_int_equal(
amxd_param_new(¶m,
"child_param", AMXC_VAR_ID_CSTRING), 0);
131 amxc_var_t* params = NULL;
133 amxc_var_init(&args);
134 amxc_var_init(&retval);
140 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
141 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
142 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
143 amxc_var_add_key(cstring_t, params,
"param",
"1234");
147 amxc_var_set_type(&args, AMXC_VAR_ID_BOOL);
150 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
151 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
152 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
153 amxc_var_add_key(cstring_t, params,
"param",
"1234");
156 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
157 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
158 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
159 amxc_var_add_key(cstring_t, params,
"param",
"1234");
162 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
163 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
164 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
165 amxc_var_add_key(cstring_t, params,
"param",
"1234");
168 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
169 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
170 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
171 amxc_var_add_key(cstring_t, params,
"param",
"1234");
174 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
175 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
176 params = amxc_var_add_key(amxc_htable_t, params,
"1", NULL);
177 amxc_var_add_key(cstring_t, params,
"inst_param",
"True");
178 amxc_var_add_key(cstring_t, params,
"param",
"1234");
181 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
182 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
183 params = amxc_var_add_key(amxc_htable_t, params,
"1", NULL);
184 amxc_var_add_key(cstring_t, params,
"inst_param",
"TEST DATA");
185 amxc_var_add_key(cstring_t, params,
"param",
"1234");
188 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
189 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
190 params = amxc_var_add_key(amxc_htable_t, params,
"303", NULL);
191 amxc_var_add_key(
bool, params,
"inst_param",
true);
192 amxc_var_add_key(cstring_t, params,
"param",
"1234");
195 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
196 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
197 params = amxc_var_add_key(amxc_htable_t, params,
"303", NULL);
198 amxc_var_add_key(
bool, params,
"inst_param",
true);
199 amxc_var_add_key(cstring_t, params,
"param",
"1234");
202 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
203 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
204 amxc_var_add_key(uint32_t, params,
"ro_param", 99);
207 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
208 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
209 amxc_var_add_key(uint32_t, params,
"ro_param", 99);
210 amxc_var_add_key(
bool, &args,
"set_read_only",
true);
214 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
215 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
216 amxc_var_add_key(uint32_t, params,
"child_param", 99);
217 amxc_var_add_key(
bool, &args,
"set_read_only",
true);
221 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
222 params = amxc_var_add_key(amxc_htable_t, &args,
"oparameters", NULL);
223 amxc_var_add_key(uint32_t, params,
"child_param", 19);
224 amxc_var_add_key(
bool, &args,
"set_read_only",
true);
229 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
230 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
231 amxc_var_add_key(uint32_t, params,
"child_param", 99);
232 amxc_var_add_key(
bool, &args,
"set_read_only",
true);
236 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
237 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
238 amxc_var_add_key(uint32_t, params,
"child_param", 99);
239 amxc_var_add_key(
bool, &args,
"set_read_only",
true);
243 amxc_var_clean(&args);
244 amxc_var_clean(&retval);
253 amxc_var_t* params = NULL;
255 amxc_var_init(&args);
256 amxc_var_init(&retval);
262 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
263 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
264 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
265 amxc_var_add_key(cstring_t, params,
"param",
"1234");
269 amxc_var_set_type(&args, AMXC_VAR_ID_BOOL);
272 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
273 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
274 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
275 amxc_var_add_key(cstring_t, params,
"param",
"1234");
278 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
279 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
280 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
281 amxc_var_add_key(cstring_t, params,
"param",
"1234");
284 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
285 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
286 amxc_var_add_key(cstring_t, params,
"templ_param",
"Test Data");
287 amxc_var_add_key(cstring_t, params,
"param",
"1234");
290 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
291 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
292 params = amxc_var_add_key(amxc_htable_t, params,
"1", NULL);
293 amxc_var_add_key(cstring_t, params,
"inst_param",
"True");
294 amxc_var_add_key(cstring_t, params,
"param",
"1234");
297 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
298 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
299 params = amxc_var_add_key(amxc_htable_t, params,
"1", NULL);
300 amxc_var_add_key(cstring_t, params,
"inst_param",
"TEST DATA");
301 amxc_var_add_key(cstring_t, params,
"param",
"1234");
304 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
305 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
306 params = amxc_var_add_key(amxc_htable_t, params,
"303", NULL);
307 amxc_var_add_key(
bool, params,
"inst_param",
true);
308 amxc_var_add_key(cstring_t, params,
"param",
"1234");
311 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
312 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
313 params = amxc_var_add_key(amxc_htable_t, params,
"303", NULL);
314 amxc_var_add_key(
bool, params,
"inst_param",
true);
315 amxc_var_add_key(cstring_t, params,
"param",
"1234");
318 amxc_var_clean(&args);
319 amxc_var_clean(&retval);
Ambiorix Data Model Default actions header file.
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.
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)
@ 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_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_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 test_amxd_object_write_with_cb(UNUSED void **state)
void test_amxd_object_write(UNUSED void **state)
static amxd_object_t * test_build_dm(void)