00001 #ifndef IT_BUS_XA_TRANSACTION_MANAGER_
00002 #define IT_BUS_XA_TRANSACTION_MANAGER_
00003
00004
00005
00006 #include <it_bus/transaction_manager.h>
00007 #include <orbix_sys/xa.h>
00008
00009 namespace IT_Bus
00010 {
00014 class IT_BUS_API XATransactionManager : public TransactionManager
00015 {
00016 public:
00017 virtual ~XATransactionManager();
00018
00027 virtual xa_switch_t*
00028 get_xa_switch()=0;
00029
00059 virtual Boolean
00060 register_xa_resource(
00061 xa_switch_t* xa_switch,
00062 String open_string,
00063 String close_string,
00064 String resource_manager_identifier,
00065 Boolean use_dynamic_registration_optimization,
00066 Boolean is_single_threaded_resource
00067 )=0;
00068
00069 protected:
00070
00071 XATransactionManager();
00072
00073 private:
00074 XATransactionManager(const XATransactionManager&);
00075 XATransactionManager& operator=(const XATransactionManager&);
00076 };
00077 typedef Var<XATransactionManager> XATransactionManager_var;
00078 typedef XATransactionManager* XATransactionManager_ptr;
00079 }
00080
00081 #endif