DTNMA Reference Tools v2.0.0 - 7.g88e232c
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
This file contains the definitions, prototypes, constants, and other information necessary for the identification and processing of AMM Resource Identifiers (ARIs). More...
#include "type.h"
#include "lit.h"
#include "ref.h"
#include "cace/config.h"
#include "cace/cace_data.h"
#include <m-string.h>
#include <m-list.h>
#include <m-dict.h>
#include <time.h>
#include <stdint.h>
#include <stdbool.h>
Data Structures | |
struct | cace_ari_t |
Defines a general-purpose ARI structure. More... | |
Macros | |
#define | CACE_ARI_INIT_UNDEFINED |
A static value to initialize an ARI to the undefined value. | |
#define | CACE_ARI_INIT_NULL |
Functions | |
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. | |
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. | |
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_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. | |
This file contains the definitions, prototypes, constants, and other information necessary for the identification and processing of AMM Resource Identifiers (ARIs).
Every object in the AMM can be uniquely identified using an ARI.
#define CACE_ARI_INIT_NULL |
#define CACE_ARI_INIT_UNDEFINED |
A static value to initialize an ARI to the undefined value.
This can be used as an alternative to cace_ari_init() for static initialization.
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().