yumapro  21.10T-12
YumaPro SDK
XPath1 Server AIO Support

All-in-One API callback support for XPath 1.0 Processing. More...

Collaboration diagram for XPath1 Server AIO Support:

Functions

xpath_aio_cb_txpath1_aio_find_aiocb_full (dlq_hdr_t *aioQ, obj_template_t *obj, xpath_get2_cb_t *cb)
 Find AIO control block by object and also check if the AIO CB is the correct control block with the same parent lookup. More...
 
xpath_aio_cb_txpath1_aio_find_aiocb_que (dlq_hdr_t *aioQ, obj_template_t *obj)
 Find AIO control block by object. More...
 
xpath_aio_cb_txpath1_aio_find_aiocb_pcb (xpath_pcb_t *pcb, xpath_get2_cb_t *get2cb_cb, obj_template_t *obj)
 Find AIO control block by object and get2cb. More...
 
void xpath1_aio_free_cb (xpath_aio_cb_t *cb)
 Free a malloced AIO control block. More...
 
xpath_aio_cb_txpath1_aio_get_first_aio (xpath_pcb_t *pcb)
 Get the first AIO Control block for the top level object. More...
 
xpath_aio_cb_txpath1_aio_get_next_aio (xpath_aio_cb_t *cb)
 Get the next AIO Control block for the next level object. More...
 
val_value_txpath1_aio_get_first_aio_ptr (xpath_aio_cb_t *cb)
 Get the first AIO val value in the valQ Queue. More...
 
val_value_txpath1_aio_get_next_aio_ptr (val_value_t *entry)
 Get the next AIO val value in the valQ Queue. More...
 
status_t xpath1_aio_setup_aiocb (xpath_pcb_t *pcb, xpath_get2_cb_t *get2cb_cb, obj_template_t *obj)
 Setup AIO control block entries. More...
 
boolean xpath1_aio_check_ascend_lists (val_value_t *useval, xpath_get2_cb_t *cb)
 Check if all the ascendent AIO lists are correct lists for the current val value and XPath GET2 control block. More...
 
void xpath1_aio_get_parent (const val_value_t *val, val_value_t **parentval, xpath_get2_cb_t **parent_cb)
 Get the AIO top value node parent. More...
 

Detailed Description

All-in-One API callback support for XPath 1.0 Processing.

Function Documentation

◆ xpath1_aio_check_ascend_lists()

boolean xpath1_aio_check_ascend_lists ( val_value_t useval,
xpath_get2_cb_t cb 
)

Check if all the ascendent AIO lists are correct lists for the current val value and XPath GET2 control block.

Parameters
usevalval value to use
cbcurrent XPath GET2 control block to use
Returns
TRUE if val value and XPath CB are matching and represend the same list value
FALSE otherwise
Here is the call graph for this function:

◆ xpath1_aio_find_aiocb_full()

xpath_aio_cb_t* xpath1_aio_find_aiocb_full ( dlq_hdr_t *  aioQ,
obj_template_t obj,
xpath_get2_cb_t cb 
)

Find AIO control block by object and also check if the AIO CB is the correct control block with the same parent lookup.

Parameters
aioQQueue of AIO control blocks to use
objobject to match with
cbobject to match with
Returns
xpath_aio_cb_t AIO control block

◆ xpath1_aio_find_aiocb_pcb()

xpath_aio_cb_t* xpath1_aio_find_aiocb_pcb ( xpath_pcb_t pcb,
xpath_get2_cb_t get2cb_cb,
obj_template_t obj 
)

Find AIO control block by object and get2cb.

Parameters
pcbparser control block to check
get2cb_cbGET2 resnode control block to find
objobject to match with
Returns
xpath_aio_cb_t AIO control block pr NULL of no match
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xpath1_aio_find_aiocb_que()

xpath_aio_cb_t* xpath1_aio_find_aiocb_que ( dlq_hdr_t *  aioQ,
obj_template_t obj 
)

Find AIO control block by object.

Parameters
aioQQueue of AIO control blocks to use
objobject to match with
Returns
xpath_aio_cb_t AIO control block

◆ xpath1_aio_free_cb()

void xpath1_aio_free_cb ( xpath_aio_cb_t cb)

Free a malloced AIO control block.

Parameters
cbpointer to AIO control block to free
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xpath1_aio_get_first_aio()

xpath_aio_cb_t* xpath1_aio_get_first_aio ( xpath_pcb_t pcb)

Get the first AIO Control block for the top level object.

Parameters
pcbParser control block to use
Returns
pointer to the first entry or NULL if empty Q
Here is the caller graph for this function:

◆ xpath1_aio_get_first_aio_ptr()

val_value_t* xpath1_aio_get_first_aio_ptr ( xpath_aio_cb_t cb)

Get the first AIO val value in the valQ Queue.

Parameters
cbAIO cb to use
Returns
pointer to the first entry or NULL if empty Q

◆ xpath1_aio_get_next_aio()

xpath_aio_cb_t* xpath1_aio_get_next_aio ( xpath_aio_cb_t cb)

Get the next AIO Control block for the next level object.

Parameters
cbprevious control block pointer to use
Returns
pointer to the next entry or NULL
Here is the caller graph for this function:

◆ xpath1_aio_get_next_aio_ptr()

val_value_t* xpath1_aio_get_next_aio_ptr ( val_value_t entry)

Get the next AIO val value in the valQ Queue.

Parameters
entryprevious val value pointer to use
Returns
pointer to the next entry or NULL

◆ xpath1_aio_get_parent()

void xpath1_aio_get_parent ( const val_value_t val,
val_value_t **  parentval,
xpath_get2_cb_t **  parent_cb 
)

Get the AIO top value node parent.

Parameters
valtop AIO value node to check
parentvaladdress of return parentval
parent_cbaddress of return parent_cb
Return values
*parentvalreturn parentval (parent_cb will be NULL)
*parent_cbreturn parent_cb (parentval will be NULL)
Here is the call graph for this function:

◆ xpath1_aio_setup_aiocb()

status_t xpath1_aio_setup_aiocb ( xpath_pcb_t pcb,
xpath_get2_cb_t get2cb_cb,
obj_template_t obj 
)

Setup AIO control block entries.

Porcess the whole tree here, create AIO cb for all of the children of this tree. Every level will have its own CB

Parameters
pcbparser control block
get2cb_cbGET2 XPath node AIO top level get2 control block for this to use
objtemplate for object being processed
Returns
status
Here is the call graph for this function: