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>
80 #include <amxc/amxc_macros.h>
84 const char* main_odl =
"%define { object MyObject; }";
85 const char* second_odl =
"%define { object MyObject; }";
86 const char* odls[] = {
87 "%define { object MyObject; object MyObject; }",
88 "%define { object MyObject; } %define { object MyObject; }",
95 for(
int i = 0; odls[i] != NULL; i++) {
113 const char* main_odl =
"%define { object MyObject; }";
114 const char* second_odl =
"%config { define-behavior = { existing-object = \"update\" }; } %define { object MyObject; }";
130 amxd_object_t*
object = NULL;
131 amxd_param_t* param = NULL;
133 const char* main_odl =
"%define { object MyObject { string Text; } }";
134 const char* second_odl =
135 "%config { define-behavior = { existing-object = \"update\" }; }"
150 object = amxd_dm_findf(&dm,
"MyObject");
151 assert_ptr_not_equal(
object, NULL);
152 param = amxd_object_get_param_def(
object,
"TestParam");
153 assert_ptr_not_equal(param, NULL);
154 param = amxd_object_get_param_def(
object,
"Text");
155 assert_ptr_not_equal(param, NULL);
165 "%define { object MyObject { string TestParam; uint32 TestParam; } }";
180 amxd_object_t*
object = NULL;
181 amxd_param_t* param = NULL;
183 "%config { define-behavior = { existing-parameter = \"update\" }; }"
184 "%define { object MyObject { string TestParam; uint32 TestParam; } }";
192 object = amxd_dm_findf(&dm,
"MyObject");
193 param = amxd_object_get_param_def(
object,
"TestParam");
194 assert_ptr_not_equal(param, NULL);
195 assert_int_equal(amxd_param_get_type(param), AMXC_VAR_ID_UINT32);
205 "%config { define-behavior = { existing-parameter = \"update\" }; }"
206 "%define { object MyObject { string TestParam; htable TestParam; } }";
Ambiorix ODL parser header file.
int amxo_parser_parse_string(amxo_parser_t *parser, const char *text, amxd_object_t *object)
Parses a string containing a valid ODL part.
void amxo_parser_clean(amxo_parser_t *parser)
Cleans up the odl parser instance.
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.
The ODL parser structure.
void test_duplicate_objects_default_behavior(UNUSED void **state)
void test_duplicate_parameters_change_to_invalid_type_fails(UNUSED void **state)
void test_duplicate_objects_can_add_parameter(UNUSED void **state)
void test_duplicate_parameters_can_update(UNUSED void **state)
void test_duplicate_parameters_default_behavior(UNUSED void **state)
void test_duplicate_objects_can_update(UNUSED void **state)