DTNMA Reference Tools v2.0.0 - 7.g88e232c
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "base.h"
#include "lit.h"
#include "ref.h"
#include "containers.h"
#include "cace/util/defs.h"
#include <inttypes.h>
Functions | |
static void | cace_ari_state_reset (cace_ari_t *ari) |
Reset the state of a value struct. | |
static void | cace_ari_copy_shallow (cace_ari_t *ari, const cace_ari_t *src) |
static int | cace_ari_copy_deep (cace_ari_t *ari, const cace_ari_t *src) |
static void | cace_ari_deinit_parts (cace_ari_t *ari) |
void | cace_ari_init (cace_ari_t *ari) |
Initialize an ARI to the undefined value. | |
cace_ari_lit_t * | cace_ari_init_lit (cace_ari_t *ari) |
Initialize an ARI to be a literal value which requires further state initialization. | |
cace_ari_ref_t * | cace_ari_init_objref (cace_ari_t *ari) |
Initialize an ARI to be an object reference value which requires further state initialization. | |
cace_ari_ref_t * | cace_ari_set_objref (cace_ari_t *ari) |
Set an ARI to be an object reference value which requires further state setting. | |
int | cace_ari_init_copy (cace_ari_t *ari, const cace_ari_t *src) |
Initialize an ARI with copy semantics. | |
int | cace_ari_init_move (cace_ari_t *ari, cace_ari_t *src) |
Initialize an ARI with move semantics. | |
int | cace_ari_deinit (cace_ari_t *ari) |
De-initialize an ARI. | |
void | cace_ari_reset (cace_ari_t *ari) |
Reset an initialized ARI to the undefined value. | |
int | cace_ari_set_copy (cace_ari_t *ari, const cace_ari_t *src) |
Copy an ARI value into another ARI. | |
int | cace_ari_set_move (cace_ari_t *ari, cace_ari_t *src) |
Move an ARI value into another ARI. | |
int cace_ari_deinit | ( | cace_ari_t * | ari | ) |
De-initialize an ARI.
This recurses into data and containers as necessary.
[in,out] | ari | The value to de-initialize. |
References cace_ari_state_reset(), and CHKERR1.
Referenced by cace_amp_msg_decode(), cace_ari_equal(), cace_ari_set_ac(), cace_ari_set_am(), cace_ari_set_aritype(), cace_ari_set_aritype_text(), cace_ari_set_bool(), cace_ari_set_bstr(), cace_ari_set_byte(), cace_ari_set_execset(), cace_ari_set_int(), cace_ari_set_null(), cace_ari_set_prim_bool(), cace_ari_set_prim_float64(), cace_ari_set_prim_int64(), cace_ari_set_prim_uint64(), cace_ari_set_real32(), cace_ari_set_real64(), cace_ari_set_rptset(), cace_ari_set_tbl(), cace_ari_set_td(), cace_ari_set_tp(), cace_ari_set_tstr(), cace_ari_set_uint(), cace_ari_set_undefined(), cace_ari_set_uvast(), cace_ari_set_vast(), and cace_ari_tbl_move_row_ac().
void cace_ari_init | ( | cace_ari_t * | ari | ) |
Initialize an ARI to the undefined value.
[out] | ari | The value to modify. |
References cace_ari_state_reset(), and CHKVOID.
Referenced by cace_amp_msg_decode(), and cace_ari_tbl_move_row_ac().
int cace_ari_init_copy | ( | cace_ari_t * | ari, |
const cace_ari_t * | src | ||
) |
Initialize an ARI with copy semantics.
[in,out] | ari | The value to modify. |
src | The source to deep copy from. |
References CHKERR1.
Referenced by cace_amm_type_set_use_ref().
cace_ari_lit_t * cace_ari_init_lit | ( | cace_ari_t * | ari | ) |
Initialize an ARI to be a literal value which requires further state initialization.
[out] | ari | The value to modify. |
References cace_ari_t::as_lit, cace_ari_state_reset(), CHKNULL, and cace_ari_t::is_ref.
Referenced by cace_ari_cbor_decode_stream(), cace_ari_set_ac(), cace_ari_set_am(), cace_ari_set_aritype(), cace_ari_set_aritype_text(), cace_ari_set_bool(), cace_ari_set_bstr(), cace_ari_set_byte(), cace_ari_set_execset(), cace_ari_set_int(), cace_ari_set_null(), cace_ari_set_prim_bool(), cace_ari_set_prim_float64(), cace_ari_set_prim_int64(), cace_ari_set_prim_uint64(), cace_ari_set_real32(), cace_ari_set_real64(), cace_ari_set_rptset(), cace_ari_set_tbl(), cace_ari_set_td(), cace_ari_set_tp(), cace_ari_set_tstr(), cace_ari_set_uint(), cace_ari_set_uvast(), and cace_ari_set_vast().
int cace_ari_init_move | ( | cace_ari_t * | ari, |
cace_ari_t * | src | ||
) |
Initialize an ARI with move semantics.
[in,out] | ari | The value to modify. |
[in,out] | src | The source to move from and reset. |
References cace_ari_state_reset(), and CHKERR1.
cace_ari_ref_t * cace_ari_init_objref | ( | cace_ari_t * | ari | ) |
Initialize an ARI to be an object reference value which requires further state initialization.
[out] | ari | The value to modify. |
References cace_ari_t::as_ref, cace_ari_state_reset(), CHKNULL, and cace_ari_t::is_ref.
Referenced by cace_ari_cbor_decode_stream(), and cace_ari_set_objref().
void cace_ari_reset | ( | cace_ari_t * | ari | ) |
Reset an initialized ARI to the undefined value.
This is equivalent to calling cace_ari_deinit() and cace_ari_init() in sequence.
[in,out] | ari | The value to reset. |
References cace_ari_state_reset(), and CHKVOID.
Referenced by cace_ari_cbor_decode(), and cace_ari_cbor_decode_stream().
int cace_ari_set_copy | ( | cace_ari_t * | ari, |
const cace_ari_t * | src | ||
) |
Copy an ARI value into another ARI.
[in,out] | ari | The ARI to modify. The previous value is de-initialized prior to copy. |
src | The source to deep copy from. |
References CHKERR1.
Referenced by cace_ari_lit_copy().
int cace_ari_set_move | ( | cace_ari_t * | ari, |
cace_ari_t * | src | ||
) |
Move an ARI value into another ARI.
[in,out] | ari | The ARI to modify. The previous value is de-initialized prior to move. |
[in,out] | src | The source to move from and reset. |
References cace_ari_state_reset(), and CHKERR1.
Referenced by cace_amm_type_set_use_ref_move().
cace_ari_ref_t * cace_ari_set_objref | ( | cace_ari_t * | ari | ) |
Set an ARI to be an object reference value which requires further state setting.
[in,out] | ari | The value to modify. |
References cace_ari_init_objref(), and CHKNULL.
Referenced by cace_ari_set_objref_path_intid(), and cace_ari_set_objref_path_textid().
|
static |
Reset the state of a value struct.
ari | The struct to reset. |
Referenced by cace_ari_deinit(), cace_ari_init(), cace_ari_init_lit(), cace_ari_init_move(), cace_ari_init_objref(), cace_ari_reset(), and cace_ari_set_move().