00001 #ifndef IT_BUS_TRANSACTION_NOTIFICATION_HANDLER_
00002 #define IT_BUS_TRANSACTION_NOTIFICATION_HANDLER_
00003
00004
00005
00006 #include <it_bus/transaction_identifier.h>
00007
00008 namespace IT_Bus
00009 {
00017 class IT_BUS_API TransactionNotificationHandler : public virtual RefCountedBase
00018 {
00019 public:
00020 virtual ~TransactionNotificationHandler();
00021
00029 virtual void
00030 commit_initiated(
00031 TransactionIdentifier_ptr tx_identifier
00032 )=0;
00033
00037 virtual void
00038 committed()=0;
00039
00044 virtual void
00045 aborted()=0;
00046
00047 protected:
00048
00049 TransactionNotificationHandler();
00050
00051 private:
00052 TransactionNotificationHandler(const TransactionNotificationHandler&);
00053 TransactionNotificationHandler& operator=(const TransactionNotificationHandler&);
00054 };
00055 typedef Var<TransactionNotificationHandler> TransactionNotificationHandler_var;
00056 typedef TransactionNotificationHandler* TransactionNotificationHandler_ptr;
00057
00058 }
00059 #endif