diff options
Diffstat (limited to 'cpp/src/qpid/broker/TxAccept.cpp')
-rw-r--r-- | cpp/src/qpid/broker/TxAccept.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/TxAccept.cpp b/cpp/src/qpid/broker/TxAccept.cpp index fc0c96f467..0343cc00ae 100644 --- a/cpp/src/qpid/broker/TxAccept.cpp +++ b/cpp/src/qpid/broker/TxAccept.cpp @@ -19,8 +19,10 @@ * */ #include "qpid/broker/TxAccept.h" +#include "qpid/broker/TransactionObserver.h" #include "qpid/log/Statement.h" + using std::bind1st; using std::bind2nd; using std::mem_fun_ref; @@ -76,3 +78,13 @@ void TxAccept::commit() throw() } void TxAccept::rollback() throw() {} + +namespace { +void callObserverDR(boost::shared_ptr<TransactionObserver> observer, DeliveryRecord& dr) { + observer->dequeue(dr.getQueue(), dr.getMessageId(), dr.getReplicationId()); +} +} // namespace + +void TxAccept::callObserver(const ObserverPtr& observer) { + each(boost::bind(&callObserverDR, observer, _1)); +} |