Beispiel #1
0
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
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;
}
Beispiel #4
0
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;
}