- Added transaction_arg_set()

- Modifed coverage script
This commit is contained in:
Olof hagsand 2021-09-27 16:31:21 +02:00
parent 51278d5901
commit 9b6bb3ecbf
6 changed files with 40 additions and 26 deletions

View file

@ -506,7 +506,7 @@ transaction_free(transaction_data_t *td)
* @retval -1 Error
*/
int
plugin_transaction_begin_one(clixon_plugin_t *cp,
plugin_transaction_begin_one(clixon_plugin_t *cp,
clicon_handle h,
transaction_data_t *td)
{

View file

@ -43,14 +43,14 @@
*/
/*! Transaction data describing a system transition from a src to target state
* Clicon internal, presented as void* to app's callback in the 'transaction_data'
* Clixon internal, presented as void* to app's callback in the 'transaction_data'
* type in clicon_backend_api.h
* The struct contains source and target XML tree (e.g. candidate/running)
* But primarily a set of XML tree vectors (dvec, avec, cvec) and associated lengths
* These contain the difference between src and target XML, ie "what has changed".
* It is up to the validate callbacks to ensure that these changes are OK
* It is up to the commit callbacks to enforce these changes in the "state" of
*the system.
* the system.
*/
typedef struct {
uint64_t td_id; /* Transaction id */

View file

@ -81,12 +81,23 @@ transaction_id(transaction_data td)
/*! Get plugin/application specific callback argument
* @param[in] td transaction_data
* @retval arg callback argument
* @note NYI
*/
void *
transaction_arg(transaction_data td)
{
return ((transaction_data_t *)td)->td_arg;
return ((transaction_data_t *)td)->td_arg;
}
/*! Set plugin/application specific callback argument
* @param[in] td transaction_data
* @param[in] arg callback argument
*/
int
transaction_arg_set(transaction_data td,
void *arg)
{
((transaction_data_t *)td)->td_arg = arg;
return 0;
}
/*! Get source database xml tree
@ -96,7 +107,7 @@ transaction_arg(transaction_data td)
cxobj *
transaction_src(transaction_data td)
{
return ((transaction_data_t *)td)->td_src;
return ((transaction_data_t *)td)->td_src;
}
/*! Get target database xml tree
@ -106,7 +117,7 @@ transaction_src(transaction_data td)
cxobj *
transaction_target(transaction_data td)
{
return ((transaction_data_t *)td)->td_target;
return ((transaction_data_t *)td)->td_target;
}
/*! Get delete xml vector, ie vector of xml nodes that are deleted src->target
@ -116,7 +127,7 @@ transaction_target(transaction_data td)
cxobj **
transaction_dvec(transaction_data td)
{
return ((transaction_data_t *)td)->td_dvec;
return ((transaction_data_t *)td)->td_dvec;
}
/*! Get length of delete xml vector
@ -127,7 +138,7 @@ transaction_dvec(transaction_data td)
size_t
transaction_dlen(transaction_data td)
{
return ((transaction_data_t *)td)->td_dlen;
return ((transaction_data_t *)td)->td_dlen;
}
/*! Get add xml vector, ie vector of xml nodes that are added src->target
@ -137,7 +148,7 @@ transaction_dlen(transaction_data td)
cxobj **
transaction_avec(transaction_data td)
{
return ((transaction_data_t *)td)->td_avec;
return ((transaction_data_t *)td)->td_avec;
}
/*! Get length of add xml vector
@ -148,7 +159,7 @@ transaction_avec(transaction_data td)
size_t
transaction_alen(transaction_data td)
{
return ((transaction_data_t *)td)->td_alen;
return ((transaction_data_t *)td)->td_alen;
}
/*! Get source changed xml vector, ie vector of xml nodes that changed
@ -162,7 +173,7 @@ transaction_alen(transaction_data td)
cxobj **
transaction_scvec(transaction_data td)
{
return ((transaction_data_t *)td)->td_scvec;
return ((transaction_data_t *)td)->td_scvec;
}
/*! Get target changed xml vector, ie vector of xml nodes that changed
@ -176,7 +187,7 @@ transaction_scvec(transaction_data td)
cxobj **
transaction_tcvec(transaction_data td)
{
return ((transaction_data_t *)td)->td_tcvec;
return ((transaction_data_t *)td)->td_tcvec;
}
/*! Get length of changed xml vector
@ -187,7 +198,7 @@ transaction_tcvec(transaction_data td)
size_t
transaction_clen(transaction_data td)
{
return ((transaction_data_t *)td)->td_clen;
return ((transaction_data_t *)td)->td_clen;
}
/*! Print transaction on FILE for debug

View file

@ -51,6 +51,7 @@
*/
uint64_t transaction_id(transaction_data td);
void *transaction_arg(transaction_data td);
int transaction_arg_set(transaction_data td, void *arg);
cxobj *transaction_src(transaction_data td);
cxobj *transaction_target(transaction_data td);
cxobj **transaction_dvec(transaction_data td);