summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Message.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-11-07 20:48:38 +0000
committerAlan Conway <aconway@apache.org>2008-11-07 20:48:38 +0000
commit0e107c3844c7078cf57212f16b1335dd50d4364c (patch)
treea62880c89a7b0e3a8cace6b96729fab2de34743e /cpp/src/qpid/broker/Message.cpp
parent15ea1b2572d040cbf62154b075b1e851cc15a22e (diff)
downloadqpid-python-0e107c3844c7078cf57212f16b1335dd50d4364c.tar.gz
broker/Message, IncompleteMessageList: drop waitFor(De|En)Complete, replace with callbacks.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@712258 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Message.cpp')
-rw-r--r--cpp/src/qpid/broker/Message.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Message.cpp b/cpp/src/qpid/broker/Message.cpp
index 89c647358a..a99a10180e 100644
--- a/cpp/src/qpid/broker/Message.cpp
+++ b/cpp/src/qpid/broker/Message.cpp
@@ -348,7 +348,7 @@ void Message::allEnqueuesComplete() {
sys::Mutex::ScopedLock l(lock);
swap(cb, enqueueCallback);
}
- if (cb && *cb) (*cb)(*this);
+ if (cb && *cb) (*cb)(intrusive_ptr<Message>(this));
}
void Message::allDequeuesComplete() {
@@ -357,7 +357,11 @@ void Message::allDequeuesComplete() {
sys::Mutex::ScopedLock l(lock);
swap(cb, dequeueCallback);
}
- if (cb && *cb) (*cb)(*this);
+ if (cb && *cb) (*cb)(intrusive_ptr<Message>(this));
}
+void Message::setEnqueueCompleteCallback(MessageCallback& cb) { enqueueCallback = &cb; }
+
+void Message::setDequeueCompleteCallback(MessageCallback& cb) { dequeueCallback = &cb; }
+
}} // namespace qpid::broker