61 #include "amxo_parser.tab.h"
65 amxc_llist_for_each(it, parser->
hooks) {
74 amxc_llist_for_each(it, parser->
hooks) {
76 if(hook->
start != NULL) {
83 amxc_llist_for_each(it, parser->
hooks) {
85 if(hook->
end != NULL) {
92 amxc_llist_for_each(it, parser->
hooks) {
101 amxc_llist_for_each(it, parser->
hooks) {
110 amxc_llist_for_each(it, parser->
hooks) {
119 amxc_llist_for_each(it, parser->
hooks) {
130 amxc_llist_for_each(it, parser->
hooks) {
140 int64_t attr_bitmask,
141 amxd_object_type_t type) {
142 amxc_llist_for_each(it, parser->
hooks) {
157 amxc_llist_for_each(it, parser->
hooks) {
170 amxc_llist_for_each(it, parser->
hooks) {
181 amxc_llist_for_each(it, parser->
hooks) {
192 int64_t attr_bitmask,
194 amxc_llist_for_each(it, parser->
hooks) {
208 amxc_llist_for_each(it, parser->
hooks) {
220 amxc_llist_for_each(it, parser->
hooks) {
232 int64_t attr_bitmask,
234 amxc_llist_for_each(it, parser->
hooks) {
247 amxc_llist_for_each(it, parser->
hooks) {
259 amxc_llist_for_each(it, parser->
hooks) {
272 int64_t attr_bitmask,
274 amxc_var_t* def_value) {
275 amxc_llist_for_each(it, parser->
hooks) {
290 const char* param_name) {
291 amxc_llist_for_each(it, parser->
hooks) {
302 amxd_object_t*
object,
304 amxd_action_t action_id,
305 const char* action_name,
306 const amxc_var_t* data) {
307 amxc_llist_for_each(it, parser->
hooks) {
323 when_null(parser, exit);
324 when_null(hooks, exit);
325 when_not_null(hooks->
it.llist, exit);
327 if(parser->
hooks == NULL) {
328 amxc_llist_new(&parser->
hooks);
330 retval = amxc_llist_append(parser->
hooks, &hooks->
it);
340 when_null(parser, exit);
341 when_null(hooks, exit);
343 when_true(parser->
hooks != hooks->
it.llist, exit);
345 amxc_llist_it_take(&hooks->
it);
346 if(amxc_llist_is_empty(parser->
hooks)) {
347 amxc_llist_delete(&parser->
hooks, NULL);
void amxo_hooks_end_include(amxo_parser_t *parser, const char *file)
void amxo_hooks_comment(amxo_parser_t *parser, char *comment, uint32_t len)
void amxo_hooks_select_object(amxo_parser_t *parser, const char *path)
void amxo_hooks_add_mib(amxo_parser_t *parser, const char *mib)
void amxo_hooks_start(amxo_parser_t *parser)
void amxo_hooks_start_section(amxo_parser_t *parser, int section_id)
void amxo_hooks_end(amxo_parser_t *parser)
void amxo_hooks_end_section(amxo_parser_t *parser, int section_id)
void amxo_hooks_create_object(amxo_parser_t *parser, const char *name, int64_t attr_bitmask, amxd_object_type_t type)
void amxo_hooks_add_func_arg(amxo_parser_t *parser, const char *name, int64_t attr_bitmask, uint32_t type, amxc_var_t *def_value)
void amxo_hooks_set_config(amxo_parser_t *parser, const char *name, amxc_var_t *value)
void amxo_hooks_end_func(amxo_parser_t *parser)
void amxo_hooks_set_param(amxo_parser_t *parser, amxc_var_t *value)
void amxo_hooks_end_object(amxo_parser_t *parser)
void amxo_hooks_add_param(amxo_parser_t *parser, const char *name, int64_t attr_bitmask, uint32_t type)
void amxo_hooks_end_param(amxo_parser_t *parser)
void amxo_hooks_start_include(amxo_parser_t *parser, const char *file)
int amxo_parser_set_hooks(amxo_parser_t *parser, amxo_hooks_t *hooks)
void amxo_hooks_add_instance(amxo_parser_t *parser, uint32_t index, const char *name)
void amxo_hooks_add_func(amxo_parser_t *parser, const char *name, int64_t attr_bitmask, uint32_t type)
void amxo_hooks_set_action_cb(amxo_parser_t *parser, amxd_object_t *object, amxd_param_t *param, amxd_action_t action_id, const char *action_name, const amxc_var_t *data)
void amxo_hooks_set_counter(amxo_parser_t *parser, const char *param_name)
int amxo_parser_unset_hooks(amxo_parser_t *parser, amxo_hooks_t *hooks)
amxo_include_t start_include
amxo_set_counter_t set_counter
amxo_add_func_arg_t add_func_arg
amxo_add_instance_t add_instance
amxo_section_t end_section
amxo_add_param_func_t add_param
amxo_end_param_t end_param
amxo_section_t start_section
amxo_set_action_cb_t set_action_cb
amxo_add_param_func_t add_func
amxo_select_object_t select_object
amxo_set_config_t set_config
amxo_set_param_t set_param
amxo_end_object_t end_object
amxo_create_object_t create_object
amxo_include_t end_include
The ODL parser structure.