00001 #ifndef IT_BUS_WSAT_TRANSACTION_MANAGER_
00002 #define IT_BUS_WSAT_TRANSACTION_MANAGER_
00003
00004
00005
00006 #include <it_bus/transaction_manager.h>
00007
00008 namespace WS_Coordination
00009 {
00010 class CoordinationContext;
00011 }
00012
00013 namespace IT_Bus
00014 {
00019 class IT_BUS_API WSATTransactionManager : public TransactionManager
00020 {
00021 public:
00022 virtual ~WSATTransactionManager();
00023
00024 virtual bool
00025 initialize_from_coordination_context(
00026 WS_Coordination::CoordinationContext* coordination_context
00027 )=0;
00028
00029 virtual void
00030 forget_current_transaction()=0;
00031
00032 virtual WS_Coordination::CoordinationContext*
00033 get_coordination_context()=0;
00034
00035 protected:
00036
00037 WSATTransactionManager();
00038
00039 private:
00040 WSATTransactionManager(const WSATTransactionManager&);
00041 WSATTransactionManager& operator=(const WSATTransactionManager&);
00042 };
00043 typedef Var<WSATTransactionManager> WSATTransactionManager_var;
00044 typedef WSATTransactionManager* WSATTransactionManager_ptr;
00045 }
00046
00047 #endif