New state plugin callback for pagination.
* You need to change all statedata plugin callback for the new pagination feature * If you dont use pagination you can ignore the values of the new parameters * See [User manual pagination](https://clixon-docs.readthedocs.io/en/latest/misc.html#pagination) * The updated callback signature is as follows: ``` int statedata(clicon_handle h, cvec *nsc, char *xpath, pagination_mode_t pagmode, // NEW uint32_t offset, // NEW uint32_t limit, // NEW uint32_t *remaining, // NEW cxobj *xstate) ```
This commit is contained in:
parent
384ce70d7c
commit
a7a699a8b5
7 changed files with 32 additions and 39 deletions
|
|
@ -261,24 +261,13 @@ clixon_plugin_statedata_one(clixon_plugin_t *cp,
|
|||
{
|
||||
int retval = -1;
|
||||
plgstatedata_t *fn; /* Plugin statedata fn */
|
||||
plgstatedata2_t *fn2; /* Plugin statedata fn2, try this first */
|
||||
cxobj *x = NULL;
|
||||
|
||||
clicon_debug(1, "%s %s", __FUNCTION__, clixon_plugin_name_get(cp));
|
||||
if ((fn2 = clixon_plugin_api_get(cp)->ca_statedata2) != NULL){
|
||||
if ((fn = clixon_plugin_api_get(cp)->ca_statedata) != NULL){
|
||||
if ((x = xml_new(DATASTORE_TOP_SYMBOL, NULL, CX_ELMNT)) == NULL)
|
||||
goto done;
|
||||
if (fn2(h, nsc, xpath, pagmode, offset, limit, remaining, x) < 0){
|
||||
if (clicon_errno < 0)
|
||||
clicon_log(LOG_WARNING, "%s: Internal error: State callback in plugin: %s returned -1 but did not make a clicon_err call",
|
||||
__FUNCTION__, clixon_plugin_name_get(cp));
|
||||
goto fail; /* Dont quit here on user callbacks */
|
||||
}
|
||||
}
|
||||
else if ((fn = clixon_plugin_api_get(cp)->ca_statedata) != NULL){
|
||||
if ((x = xml_new(DATASTORE_TOP_SYMBOL, NULL, CX_ELMNT)) == NULL)
|
||||
goto done;
|
||||
if (fn(h, nsc, xpath, x) < 0){
|
||||
if (fn(h, nsc, xpath, pagmode, offset, limit, remaining, x) < 0){
|
||||
if (clicon_errno < 0)
|
||||
clicon_log(LOG_WARNING, "%s: Internal error: State callback in plugin: %s returned -1 but did not make a clicon_err call",
|
||||
__FUNCTION__, clixon_plugin_name_get(cp));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue