Merge branch dispatcher and broke out pagination callbacks to use it

* Merge branch 'dcornejo-master'
* Broke out pagination callback API from state data callbacks
  * New pagination callback API uses new dispatcher from netgate, thanks @dcornejo
   * Register callback with: `clixon_pagination_cb_register()`
   * Use accessor functions `pagination_offset()`, `pagination_limit()`, etc
 * Reverted state data callback API to pre-5.3 (see C/CLI API changes below)
This commit is contained in:
Olof hagsand 2021-10-07 09:17:25 +02:00
commit ce06f25be7
19 changed files with 996 additions and 123 deletions

View file

@ -284,3 +284,59 @@ transaction_log(clicon_handle h,
cbuf_free(cb);
return 0;
}
/*! Get pagination data: mode parameter
*
* @param[in] pd Pagination userdata
* @retval mode Pagination mode, stateless or locked
*/
pagination_mode_t
pagination_pagmode(pagination_data pd)
{
return ((pagination_data_t *)pd)->pd_pagmode;
}
/*! Get pagination data: offset parameter
*
* @param[in] pd Pagination userdata
* @retval offset Start of pagination interval
*/
uint32_t
pagination_offset(pagination_data pd)
{
return ((pagination_data_t *)pd)->pd_offset;
}
/*! Get pagination data: limit parameter
*
* @param[in] pd Pagination userdata
* @retval limit Number of elemenents (limit)
*/
uint32_t
pagination_limit(pagination_data pd)
{
return ((pagination_data_t *)pd)->pd_limit;
}
/*! Set pagination data: remaining nr of elements
*
* @param[in] pd Pagination userdata
* @param[in] remaining If limit, then remaining nr of elements
*/
int
pagination_remaining_set(pagination_data pd,
uint32_t remaining)
{
return ((pagination_data_t *)pd)->pd_remaining = remaining;
}
/*! Get pagination data: Returned xml state tree
*
* @param[in] pd Pagination userdata
* @retval xstate Returned xml state tree
*/
cxobj*
pagination_xstate(pagination_data pd)
{
return ((pagination_data_t *)pd)->pd_xstate;
}