fn_ctx_lookup fn_ctx_list_names fn_namelist_next fn_namelist_destroy fn_ctx_list_bindings fn_bindinglist_next fn_bindlist_destroy fn_ctx_lookup_link |
This operation returns the reference bound to name relative to the context ctx.
FN_ref_t *fn_ctx_lookup( FN_ctx_t *ctx, const FN_composite_name_t *name, FN_status_t *status); |
This set of operations is used to list the set of names bound in the context named name relative to the context ctx. The name must name a context. If the intent is to list the contents of ctx, name should be an empty composite name.
The call to fn_ctx_list_names() initiates the enumeration process for the target context. It returns an FN_nameslist_t object that you can use for the enumeration.
The operation fn_namelist_next() returns the next name in the enumeration identified by nl and updates nl to indicate the state of the enumeration marker. Successive calls to fn_namelist_next() using nl return successive names and further update the state of the enumeration. fn_namelist_next() returns a NULL pointer when the enumeration has been completed.
fn_namelist_destroy() is used to release resources used during the enumeration. This call can be invoked at any time to terminate the enumeration.
The names enumerated using the list names operations are not in any order. There is no guaranteed relation between the order in which names are added to a context and the order in which names are obtained by enumeration. There is no guarantee that any two enumerations will return the names in the same order.
When a name is added to or removed from the context, this might not necessarily invalidate the enumeration handle that the client holds for that context. If the enumeration handle remains valid, the update might or might not be visible to the client.
This set of operations is used to list the set of names and bindings in the context named by name, relative to the context ctx. The name must name a context. If the intent is to list the contents of ctx, name should be an empty composite name.
FN_bindinglist_t* fn_ctx_list_bindings( FN_ctx_t *ctx, const FN_composite_name_t *name, FN_status_t *status);FN_string_t *fn_bindinglist_next( FN_bindinglist_t *bl, FN_ref_t ** ref, FN_status_t *status); void fn_bindinglist_destroy( FN_bindinglist_t *bl); |
The semantics of these operations are similar to those for listing names. In addition to a name string being returned, fn_bindinglist_next() also returns the reference of the binding for each member of the enumeration.
This operation returns the XFN link bound to name. The terminal atomic part of name must be bound to an XFN link.
FN_ref_t *fn_ctx_lookup_link( FN_ctx_t *ctx, const FN_composite_name_t *name, FN_status_t *status); |
The normal fn_ctx_lookup() operation follows all XFN links encountered, including any that are bound to the terminal atomic part of name. This operation differs from the normal lookup in that when the terminal atomic part of name is an XFN link, this last link is not followed, and the operation returns the link.