DTNMA Reference Tools v2.1.0 - 19.gcd454d0
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
objpat_set.h File Reference

An object pattern set is really just an AC limited to contain only OBJPAT type literals and used to match dereferenced objects. More...

#include "lookup.h"
#include "cace/ari/objpat.h"
#include <m-dict.h>
+ Include dependency graph for objpat_set.h:
+ This graph shows which files directly or indirectly include this file:

Functions

void cace_amm_objpat_set_from_value (cace_ari_t *set, const cace_ari_t *val)
 Extract a copy of a pattern set from a literal value.
 
int cace_amm_objpat_set_from_obj (cace_ari_t *set, const cace_amm_lookup_t *deref)
 Construct a pattern to match a specific object.
 
bool cace_amm_objpat_set_match (const cace_ari_t *set, const cace_amm_lookup_t *deref)
 Determine if a specific dereferenced object matches a pattern set.
 

Detailed Description

An object pattern set is really just an AC limited to contain only OBJPAT type literals and used to match dereferenced objects.

Function Documentation

◆ cace_amm_objpat_set_from_obj()

int cace_amm_objpat_set_from_obj ( cace_ari_t set,
const cace_amm_lookup_t deref 
)

Construct a pattern to match a specific object.

Integer ID parts are preferred here.

Parameters
[in,out]objThe value to copy into.
[in]derefThe dereferenced object to match.
Returns
Zero if successful.

References cace_amm_objpat_part_from_idseg(), cace_ari_set_ac(), cace_ari_set_objpat(), cace_ari_ac_t::items, cace_amm_obj_ns_t::model_id, cace_ari_objpat_t::model_pat, cace_amm_lookup_t::ns, cace_amm_lookup_t::obj, cace_amm_obj_desc_t::obj_id, cace_ari_objpat_t::obj_pat, cace_amm_lookup_t::obj_type, cace_amm_obj_ns_t::org_id, cace_ari_objpat_t::org_pat, and cace_ari_objpat_t::type_pat.

◆ cace_amm_objpat_set_from_value()

void cace_amm_objpat_set_from_value ( cace_ari_t set,
const cace_ari_t val 
)

Extract a copy of a pattern set from a literal value.

Parameters
[in,out]objThe value to copy into.
[in]valThe value to copy out of, which must be either an OBJPAT itself or an AC of OBJPAT values.

References cace_amm_objpat_set_from_single(), cace_ari_cget_ac(), cace_ari_set_ac(), CHKVOID, and cace_ari_ac_t::items.

Referenced by refda_adm_ietf_alarms_ctrl_discard_shelf(), refda_adm_ietf_alarms_ctrl_ensure_shelf(), and refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_access().

◆ cace_amm_objpat_set_match()

bool cace_amm_objpat_set_match ( const cace_ari_t set,
const cace_amm_lookup_t deref 
)

Determine if a specific dereferenced object matches a pattern set.

Both integer and text ID parts are checked as needed.

Parameters
[in,out]objThe empty pattern to match against.
[in]derefThe dereferenced object to match.
Returns
True if it is a match.

References cace_amm_objpat_match(), cace_ari_cget_ac(), cace_ari_ac_t::items, cace_amm_lookup_t::ns, and cace_amm_lookup_t::obj.

Referenced by refda_acl_search_permission(), and refda_alarms_shelf_entry_match().