|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "runctx.h"#include "exec_item.h"#include "refda/amm/ctrl.h"#include <cace/amm/lookup.h>#include <cace/ari.h>
Include dependency graph for ctrl_exec_ctx.h:
This graph shows which files directly or indirectly include this file:Data Structures | |
| struct | refda_ctrl_exec_ctx_t |
| Context for CTRL execution activities. More... | |
Macros | |
| #define | REFDA_CTRL_EXEC_RESULT_TYPE_NOMATCH 2 |
Typedefs | |
| typedef struct refda_timeline_event_s | refda_timeline_event_t |
Functions | |
| void | refda_ctrl_exec_ctx_init (refda_ctrl_exec_ctx_t *obj, refda_exec_item_t *item) |
| Initialize a context based on an object reference ARI and a target object's formal parameters. | |
| void | refda_ctrl_exec_ctx_deinit (refda_ctrl_exec_ctx_t *obj) |
| bool | refda_ctrl_exec_ctx_has_aparam_undefined (const refda_ctrl_exec_ctx_t *ctx) |
| Determine if any actual parameter is undefined. | |
| const cace_ari_t * | refda_ctrl_exec_ctx_get_aparam_index (const refda_ctrl_exec_ctx_t *ctx, size_t index) |
| Get an actual parameter for this execution. | |
| const cace_ari_t * | refda_ctrl_exec_ctx_get_aparam_name (const refda_ctrl_exec_ctx_t *ctx, const char *name) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | refda_ctrl_exec_ctx_set_waiting (refda_ctrl_exec_ctx_t *ctx, const refda_timeline_event_t *event) |
| Mark this control run as waiting for some finish condition. | |
| int | refda_ctrl_exec_ctx_set_result_copy (refda_ctrl_exec_ctx_t *ctx, const cace_ari_t *value) |
| Set the result for an execution, which marks it as finished. | |
| int | refda_ctrl_exec_ctx_set_result_move (refda_ctrl_exec_ctx_t *ctx, cace_ari_t *value) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| int | refda_ctrl_exec_ctx_set_result_null (refda_ctrl_exec_ctx_t *ctx) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Convenience member to mark the result as successful but null-value. | |
| #define REFDA_CTRL_EXEC_RESULT_TYPE_NOMATCH 2 |
| typedef struct refda_timeline_event_s refda_timeline_event_t |
| void refda_ctrl_exec_ctx_deinit | ( | refda_ctrl_exec_ctx_t * | obj | ) |
References CHKVOID.
Referenced by check_execute(), refda_exec_proc_ctrl_start(), and refda_exec_worker_iteration().
| const cace_ari_t * refda_ctrl_exec_ctx_get_aparam_index | ( | const refda_ctrl_exec_ctx_t * | ctx, |
| size_t | index | ||
| ) |
Get an actual parameter for this execution.
| [in] | ctx | The execution context. |
| [in] | index | The index into the parameter list. |
References cace_amm_lookup_t::aparams, CHKNULL, refda_exec_item_t::deref, refda_ctrl_exec_ctx_t::item, and cace_ari_itemized_t::ordered.
Referenced by mock_ctrl_exec_one_int(), refda_adm_ietf_alarms_ctrl_compress_alarms(), refda_adm_ietf_alarms_ctrl_purge_alarms(), refda_adm_ietf_alarms_ctrl_set_alarms_manager_state(), refda_adm_ietf_dtnma_agent_acl_ctrl_discard_access(), refda_adm_ietf_dtnma_agent_acl_ctrl_discard_group(), refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_access(), refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_group(), refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_group_members(), refda_adm_ietf_dtnma_agent_ctrl_catch(), refda_adm_ietf_dtnma_agent_ctrl_ensure_const(), refda_adm_ietf_dtnma_agent_ctrl_ensure_odm(), refda_adm_ietf_dtnma_agent_ctrl_ensure_rule_enabled(), refda_adm_ietf_dtnma_agent_ctrl_ensure_sbr(), refda_adm_ietf_dtnma_agent_ctrl_ensure_tbr(), refda_adm_ietf_dtnma_agent_ctrl_ensure_var(), refda_adm_ietf_dtnma_agent_ctrl_if_then_else(), refda_adm_ietf_dtnma_agent_ctrl_inspect(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_const(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_odm(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_rule(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_var(), refda_adm_ietf_dtnma_agent_ctrl_report_on(), refda_adm_ietf_dtnma_agent_ctrl_reset_rule_enabled(), refda_adm_ietf_dtnma_agent_ctrl_var_reset(), refda_adm_ietf_dtnma_agent_ctrl_var_store(), refda_adm_ietf_dtnma_agent_ctrl_wait_cond_check(), refda_adm_ietf_dtnma_agent_ctrl_wait_for(), refda_adm_ietf_dtnma_agent_ctrl_wait_until(), and test_exec_ctrl_exec_one_int().
| const cace_ari_t * refda_ctrl_exec_ctx_get_aparam_name | ( | const refda_ctrl_exec_ctx_t * | ctx, |
| const char * | name | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
References cace_amm_lookup_t::aparams, CHKNULL, refda_exec_item_t::deref, refda_ctrl_exec_ctx_t::item, and cace_ari_itemized_t::named.
| bool refda_ctrl_exec_ctx_has_aparam_undefined | ( | const refda_ctrl_exec_ctx_t * | ctx | ) |
Determine if any actual parameter is undefined.
| [in] | ctx | The execution context. |
References cace_ari_itemized_t::any_undefined, cace_amm_lookup_t::aparams, CHKFALSE, refda_exec_item_t::deref, and refda_ctrl_exec_ctx_t::item.
Referenced by refda_adm_ietf_alarms_ctrl_compress_alarms(), refda_adm_ietf_alarms_ctrl_purge_alarms(), refda_adm_ietf_alarms_ctrl_set_alarms_manager_state(), refda_adm_ietf_dtnma_agent_ctrl_catch(), and refda_adm_ietf_dtnma_agent_ctrl_if_then_else().
| void refda_ctrl_exec_ctx_init | ( | refda_ctrl_exec_ctx_t * | obj, |
| refda_exec_item_t * | item | ||
| ) |
Initialize a context based on an object reference ARI and a target object's formal parameters.
| [out] | obj | The context to initialize. |
| [in] | item | The internal execution item. The result must outlive this context. |
References cace_amm_obj_desc_t::app_data, CHKVOID, refda_ctrl_exec_ctx_t::ctrl, refda_exec_item_t::deref, refda_ctrl_exec_ctx_t::item, cace_amm_lookup_t::obj, cace_amm_user_data_t::ptr, refda_runctx_check_acl(), refda_ctrl_exec_ctx_t::runctx, refda_exec_seq_t::runctx, and refda_exec_item_t::seq.
Referenced by check_execute(), refda_exec_proc_ctrl_start(), and refda_exec_worker_iteration().
| int refda_ctrl_exec_ctx_set_result_copy | ( | refda_ctrl_exec_ctx_t * | ctx, |
| const cace_ari_t * | value | ||
| ) |
Set the result for an execution, which marks it as finished.
| [in,out] | ctx | The context to update. |
| [in] | value | The value to use as the execution result. |
References cace_ari_set_copy(), CHKERR1, refda_ctrl_exec_ctx_t::item, refda_ctrl_exec_ctx_check_result(), and refda_exec_item_t::result.
Referenced by mock_ctrl_exec_none(), mock_ctrl_exec_one_int(), refda_adm_ietf_dtnma_agent_ctrl_wait_cond_check(), and test_exec_ctrl_exec_one_int().
| int refda_ctrl_exec_ctx_set_result_move | ( | refda_ctrl_exec_ctx_t * | ctx, |
| cace_ari_t * | value | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
References cace_ari_set_move(), CHKERR1, refda_ctrl_exec_ctx_t::item, refda_ctrl_exec_ctx_check_result(), and refda_exec_item_t::result.
Referenced by refda_adm_ietf_alarms_ctrl_compress_alarms(), refda_adm_ietf_alarms_ctrl_purge_alarms(), refda_adm_ietf_alarms_ctrl_set_alarms_manager_state(), refda_adm_ietf_dtnma_agent_ctrl_catch(), refda_adm_ietf_dtnma_agent_ctrl_if_then_else(), refda_adm_ietf_dtnma_agent_ctrl_inspect(), and refda_adm_ietf_dtnma_agent_ctrl_obsolete_rule().
| int refda_ctrl_exec_ctx_set_result_null | ( | refda_ctrl_exec_ctx_t * | ctx | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Convenience member to mark the result as successful but null-value.
The null type is the default CTRL result type.
References cace_ari_set_null(), CHKERR1, refda_ctrl_exec_ctx_t::item, refda_ctrl_exec_ctx_check_result(), and refda_exec_item_t::result.
Referenced by refda_adm_ietf_dtnma_agent_acl_ctrl_discard_access(), refda_adm_ietf_dtnma_agent_acl_ctrl_discard_group(), refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_access(), refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_group(), refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_group_members(), refda_adm_ietf_dtnma_agent_ctrl_ensure_const(), refda_adm_ietf_dtnma_agent_ctrl_ensure_odm(), refda_adm_ietf_dtnma_agent_ctrl_ensure_rule_enabled(), refda_adm_ietf_dtnma_agent_ctrl_ensure_sbr(), refda_adm_ietf_dtnma_agent_ctrl_ensure_tbr(), refda_adm_ietf_dtnma_agent_ctrl_ensure_var(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_const(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_odm(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_var(), refda_adm_ietf_dtnma_agent_ctrl_report_on(), refda_adm_ietf_dtnma_agent_ctrl_reset_rule_enabled(), refda_adm_ietf_dtnma_agent_ctrl_var_reset(), refda_adm_ietf_dtnma_agent_ctrl_var_store(), and refda_adm_ietf_dtnma_agent_ctrl_wait_finished().
| void refda_ctrl_exec_ctx_set_waiting | ( | refda_ctrl_exec_ctx_t * | ctx, |
| const refda_timeline_event_t * | event | ||
| ) |
Mark this control run as waiting for some finish condition.
The finished state is communicated in the callback by its context.
| [in,out] | ctx | The context to update. |
| [in] | event | An optional callback event to check the finished condition later. |
References refda_runctx_t::agent, CHKVOID, refda_agent_t::exec_timeline, refda_exec_item_t::execution_stage, refda_ctrl_exec_ctx_t::item, REFDA_EXEC_WAITING, and refda_ctrl_exec_ctx_t::runctx.
Referenced by refda_adm_ietf_dtnma_agent_ctrl_wait_cond_check(), refda_adm_ietf_dtnma_agent_ctrl_wait_for(), and refda_adm_ietf_dtnma_agent_ctrl_wait_until().