Example #1
0
/*! Cleanup function to destroy action. */
static
void cleanup_action(
    void *cbdata
)
{
    const ib_action_inst_t *action_inst =
        (const ib_action_inst_t *)cbdata;
    assert(action_inst != NULL);
    const ib_action_t *action =
        ib_action_inst_action(action_inst);
    assert(action != NULL);

    /* Will only be called if there is a destroy function. */
    assert(action->destroy_fn);
    action->destroy_fn(
        action_inst->instance_data,
        action->destroy_cbdata
    );
}
Example #2
0
ib_status_t ib_action_inst_execute(
    const ib_action_inst_t *act_inst,
    const ib_rule_exec_t   *rule_exec
)
{
    assert(act_inst != NULL);

    const ib_action_t *action = ib_action_inst_action(act_inst);

    assert(action != NULL);

    if (action->execute_fn != NULL) {
        return action->execute_fn(
            rule_exec,
            ib_action_inst_data(act_inst),
            action->execute_cbdata
        );
    }
    else {
        return IB_OK;
    }
}
Example #3
0
ConstAction ConstActionInstance::action() const
{
    return ConstAction(ib_action_inst_action(ib()));
}