ObActionsAct* actions_parse(xmlNodePtr node) { gchar *name; ObActionsAct *act = NULL; if (obt_xml_attr_string(node, "name", &name)) { if ((act = actions_build_act_from_string(name))) { /* there is more stuff to parse here */ if (act->def->canbeinteractive) { if (act->def->setup.i) act->options = act->def->setup.i(node->children, &act->i_pre, &act->i_input, &act->i_cancel, &act->i_post); } else { if (act->def->setup.n) act->options = act->def->setup.n(node->children); } } g_free(name); } return act; }
ObActionsAct* actions_parse_string(const gchar *name) { ObActionsAct *act = NULL; if ((act = actions_build_act_from_string(name))) if (act->def->setup) act->options = act->def->setup(NULL, NULL, NULL); return act; }
ObActionsAct* actions_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) { gchar *name; ObActionsAct *act = NULL; if (parse_attr_string("name", node, &name)) { if ((act = actions_build_act_from_string(name))) /* there is more stuff to parse here */ if (act->def->setup) act->options = act->def->setup(i, doc, node->xmlChildrenNode); g_free(name); } return act; }
ObActionsAct* actions_parse_string(const gchar *name) { ObActionsAct *act = NULL; if ((act = actions_build_act_from_string(name))) { if (act->def->canbeinteractive) { if (act->def->setup.i) act->options = act->def->setup.i(NULL, &act->i_pre, &act->i_input, &act->i_cancel, &act->i_post); } else { if (act->def->setup.n) act->options = act->def->setup.n(NULL); } } return act; }