00001 #ifndef IT_BUS_TRANSACTION_NOTIFICATION_HANDLER_
00002 #define IT_BUS_TRANSACTION_NOTIFICATION_HANDLER_
00003
00004
00005
00006 #ifndef IT_MINIMISE_INCLUDES
00007 #include <it_bus/transaction_identifier.h>
00008 #endif
00009 #include <it_bus/ref_counted_base.h>
00010 #include <it_bus/transaction_type_alias.h>
00011
00012 namespace IT_Bus
00013 {
00021 class IT_BUS_API TransactionNotificationHandler : public virtual RefCountedBase
00022 {
00023 public:
00024 virtual ~TransactionNotificationHandler();
00025
00033 virtual void
00034 commit_initiated(
00035 TransactionIdentifier_ptr tx_identifier
00036 )=0;
00037
00041 virtual void
00042 committed()=0;
00043
00048 virtual void
00049 aborted()=0;
00050
00051 protected:
00052
00053 TransactionNotificationHandler();
00054
00055 private:
00056 TransactionNotificationHandler(const TransactionNotificationHandler&);
00057 TransactionNotificationHandler& operator=(const TransactionNotificationHandler&);
00058 };
00059 typedef Var<TransactionNotificationHandler> TransactionNotificationHandler_var;
00060 typedef TransactionNotificationHandler* TransactionNotificationHandler_ptr;
00061
00062 }
00063 #endif