- Added transaction_arg_set()
- Modifed coverage script
This commit is contained in:
parent
51278d5901
commit
9b6bb3ecbf
6 changed files with 40 additions and 26 deletions
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue