Go to the source code of this file.
Data Structures | |
struct | lixa_iface_s |
Macros | |
#define | LIXA_IFACE_STD 0 |
#define | LIXA_IFACE_XTA 1 |
#define | LIXA_TRACE_MODULE LIXA_TRACE_MOD_CLIENT_CONFIG |
Typedefs | |
typedef struct lixa_iface_s | lixa_iface_t |
typedef struct xta_xa_resource_s | xta_xa_resource_t |
Functions | |
static long | lixa_iface_get_flags (const lixa_iface_t *iface) |
static const char * | lixa_iface_get_name (const lixa_iface_t *iface) |
void | lixa_iface_reset (lixa_iface_t *iface) |
void | lixa_iface_set_std (lixa_iface_t *iface, struct xa_switch_t *std) |
void | lixa_iface_set_xta (lixa_iface_t *iface, const struct xta_iface_s *xta, xta_xa_resource_t *context) |
static int | lixa_iface_xa_close (lixa_iface_t *iface, char *info, int rmid, long flags) |
static int | lixa_iface_xa_commit (lixa_iface_t *iface, const XID *xid, int rmid, long flags) |
static int | lixa_iface_xa_end (lixa_iface_t *iface, const XID *xid, int rmid, long flags) |
static int | lixa_iface_xa_forget (lixa_iface_t *iface, const XID *xid, int rmid, long flags) |
static int | lixa_iface_xa_open (lixa_iface_t *iface, char *info, int rmid, long flags) |
static int | lixa_iface_xa_prepare (lixa_iface_t *iface, const XID *xid, int rmid, long flags) |
static int | lixa_iface_xa_recover (lixa_iface_t *iface, XID *xids, long count, int rmid, long flags) |
static int | lixa_iface_xa_rollback (lixa_iface_t *iface, const XID *xid, int rmid, long flags) |
static int | lixa_iface_xa_start (lixa_iface_t *iface, const XID *xid, int rmid, long flags) |
#define LIXA_IFACE_STD 0 |
Standard XA interface, as in xa.h file
Definition at line 43 of file lixa_iface.h.
Referenced by lixa_iface_get_flags(), lixa_iface_get_name(), lixa_iface_xa_close(), lixa_iface_xa_commit(), lixa_iface_xa_end(), lixa_iface_xa_forget(), lixa_iface_xa_open(), lixa_iface_xa_prepare(), lixa_iface_xa_recover(), lixa_iface_xa_rollback(), and lixa_iface_xa_start().
#define LIXA_IFACE_XTA 1 |
XTA interface, as in xta_iface.h file
Definition at line 47 of file lixa_iface.h.
#define LIXA_TRACE_MODULE LIXA_TRACE_MOD_CLIENT_CONFIG |
Definition at line 36 of file lixa_iface.h.
typedef struct lixa_iface_s lixa_iface_t |
This interface is a wrapper used to pass different interfaces in absence of polymorphism
typedef struct xta_xa_resource_s xta_xa_resource_t |
Definition at line 56 of file lixa_iface.h.
|
inlinestatic |
Returns the XA flags for the resource managed by an interface
[in] | iface | : reference to the interface object |
Definition at line 131 of file lixa_iface.h.
References xta_iface_s::flags, xa_switch_t::flags, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, and lixa_iface_s::xta.
|
inlinestatic |
Returns the XA name for the resource managed by an interface
[in] | iface | : reference to the interface object |
Definition at line 145 of file lixa_iface.h.
References LIXA_IFACE_STD, xta_iface_s::name, xa_switch_t::name, lixa_iface_s::std, lixa_iface_s::type, and lixa_iface_s::xta.
void lixa_iface_reset | ( | lixa_iface_t * | iface | ) |
Reset a Resource Manager interface
[out] | iface | : reference to the object that must be resetted |
Referenced by xta_xa_resource_init().
void lixa_iface_set_std | ( | lixa_iface_t * | iface, |
struct xa_switch_t * | std | ||
) |
Set a standard LIXA interface for Resource Manager
[out] | iface | : reference to the object that must be set |
[in] | std | : reference to XA standard function struct |
void lixa_iface_set_xta | ( | lixa_iface_t * | iface, |
const struct xta_iface_s * | xta, | ||
xta_xa_resource_t * | context | ||
) |
Set an XTA interface for the Resource Manager
[out] | iface | : reference to the object that must be set |
[in] | xta | : reference to XTA interface struct |
[in] | context | : reference to the resource context that will be passed to functions |
Referenced by xta_mysql_xa_resource_init(), and xta_postgresql_xa_resource_init().
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_close function
[in] | iface | : reference to the interface object |
[in] | info | : close string as documented in XA specification |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 183 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_close_entry, xa_switch_t::xa_close_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_commit function
[in] | iface | : reference to the interface object |
[in] | xid | : transaction id, XA style |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 223 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_commit_entry, xa_switch_t::xa_commit_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_end function
[in] | iface | : reference to the interface object |
[in] | xid | : transaction id, XA style |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 309 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_end_entry, xa_switch_t::xa_end_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_forget function
[in] | iface | : reference to the interface object |
[in] | xid | : transaction id, XA style |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 289 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_forget_entry, xa_switch_t::xa_forget_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_open function
[in] | iface | : reference to the interface object |
[in] | info | : open string as documented in XA specification |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 163 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_open_entry, xa_switch_t::xa_open_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_prepare function
[in] | iface | : reference to the interface object |
[in] | xid | : transaction id, XA style |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 328 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_prepare_entry, xa_switch_t::xa_prepare_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_recover function
[in] | iface | : reference to the interface object |
[out] | xids | : an array into which the resource manager places XIDs for these transactions |
[in] | count | : maximum number of XIDs that fit into that array |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 267 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_recover_entry, xa_switch_t::xa_recover_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_rollback function
[in] | iface | : reference to the interface object |
[in] | xid | : transaction id, XA style |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 243 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_rollback_entry, xa_switch_t::xa_rollback_entry, and lixa_iface_s::xta.
|
inlinestatic |
This function implements some sort of polymorphism and call the correct xa_start function
[in] | iface | : reference to the interface object |
[in] | xid | : transaction id, XA style |
[in] | rmid | : resource manager id as documented in XA specification |
[in] | flags | : as documented in XA specification |
Definition at line 203 of file lixa_iface.h.
References lixa_iface_s::context, LIXA_IFACE_STD, lixa_iface_s::std, lixa_iface_s::type, xta_iface_s::xa_start_entry, xa_switch_t::xa_start_entry, and lixa_iface_s::xta.