55 #include <sys/resource.h>
56 #include <sys/types.h>
71 #include <amxc/amxc.h>
72 #include <amxp/amxp_signal.h>
73 #include <amxd/amxd_dm.h>
74 #include <amxd/amxd_object.h>
75 #include <amxd/amxd_parameter.h>
81 #include <amxc/amxc_macros.h>
83 UNUSED amxd_function_t* func,
86 return amxd_status_ok;
93 amxd_object_t* root = amxd_dm_get_root(dm);
94 amxd_object_t*
object = amxd_object_get_child(root,
"TestObject");
98 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
100 assert_ptr_not_equal(
object, NULL);
102 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc1", &args, &ret), amxd_status_ok);
103 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc2", &args, &ret), amxd_status_ok);
104 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc3", &args, &ret), func3 ? amxd_status_ok : amxd_status_function_not_implemented);
105 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc4", &args, &ret), amxd_status_function_not_implemented);
107 amxc_var_clean(&args);
108 amxc_var_clean(&ret);
115 amxd_object_t* root = amxd_dm_get_root(dm);
116 amxd_object_t*
object = amxd_object_get_child(root,
"TestObject");
118 amxc_var_init(&args);
120 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
122 assert_ptr_not_equal(
object, NULL);
124 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc1", &args, &ret), amxd_status_function_not_implemented);
125 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc2", &args, &ret), amxd_status_function_not_implemented);
126 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc3", &args, &ret), amxd_status_function_not_implemented);
127 assert_int_equal(amxd_object_invoke_function(
object,
"TestFunc4", &args, &ret), amxd_status_function_not_implemented);
129 amxc_var_clean(&args);
130 amxc_var_clean(&ret);
Ambiorix ODL parser header file.
void amxo_parser_clean(amxo_parser_t *parser)
Cleans up the odl parser instance.
int amxo_parser_parse_file(amxo_parser_t *parser, const char *file_path, amxd_object_t *object)
Parses an odl file.
static amxd_status_t amxo_parser_get_status(amxo_parser_t *parser)
Get the status of the odl parser.
int amxo_parser_init(amxo_parser_t *parser)
Initializes a new odl parser instance.
int amxo_resolver_ftab_add(amxo_parser_t *parser, const char *fn_name, amxo_fn_ptr_t fn)
Adds a C function to the function table.
int amxo_resolver_ftab_remove(amxo_parser_t *parser, const char *fn_name)
Removes a function from the function table.
void amxo_resolver_ftab_clear(amxo_parser_t *parser)
Removes all functions from the function table.
#define AMXO_FUNC(x)
Function ponter caster macro.
The ODL parser structure.
static amxd_status_t dm_method_impl(UNUSED amxd_object_t *object, UNUSED amxd_function_t *func, UNUSED amxc_var_t *args, UNUSED amxc_var_t *ret)
void test_ftab_resolver_invalid_args(UNUSED void **state)
static void check_can_invoke_functions(amxd_dm_t *dm, bool func3)
static void check_can_not_invoke_functions(amxd_dm_t *dm)
void test_ftab_resolver_resolves(UNUSED void **state)