/*! 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 ); }
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; } }
ConstAction ConstActionInstance::action() const { return ConstAction(ib_action_inst_action(ib())); }