yumapro  20.10-10
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, obj_template_t *obj)
 Find AIO control block by object. 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, getcb_get2_t *get2cb, obj_template_t *obj)
 Setup AIO control block entries. More...
 
status_t xpath1_aio_setup_get2cb (getcb_get2_t *get2cb, val_value_t *useval)
 Setup GET2 control block based on val value from the AIO control block, use the value val to contruct termQ and keyQ. 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...
 

Detailed Description

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

Function Documentation

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:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

xpath_aio_cb_t* xpath1_aio_find_aiocb_pcb ( xpath_pcb_t pcb,
obj_template_t obj 
)

Find AIO control block by object.

Parameters
pcbparser control block in progress
objobject to match with
Returns
xpath_aio_cb_t AIO control block

Here is the call graph for this function:

Here is the caller graph for this function:

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
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:

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:

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

Here is the caller graph for this function:

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:

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

Here is the caller graph for this function:

status_t xpath1_aio_setup_aiocb ( xpath_pcb_t pcb,
getcb_get2_t get2cb,
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
get2cbAIO top level get2 control block for this to use
objtemplate for object being processed
Returns
status

Here is the call graph for this function:

status_t xpath1_aio_setup_get2cb ( getcb_get2_t get2cb,
val_value_t useval 
)

Setup GET2 control block based on val value from the AIO control block, use the value val to contruct termQ and keyQ.

Parameters
get2cbcurrent GET2 control block to fill
usevalval value to use
Returns
status

Here is the call graph for this function:

Here is the caller graph for this function: