summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/TxAccept.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/TxAccept.cpp')
-rw-r--r--cpp/src/qpid/broker/TxAccept.cpp12
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));
+}