diff options
Diffstat (limited to 'qpid/cpp/src/qpid/broker/Queue.h')
-rw-r--r-- | qpid/cpp/src/qpid/broker/Queue.h | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/qpid/cpp/src/qpid/broker/Queue.h b/qpid/cpp/src/qpid/broker/Queue.h index 3bcaf0f473..86c184676f 100644 --- a/qpid/cpp/src/qpid/broker/Queue.h +++ b/qpid/cpp/src/qpid/broker/Queue.h @@ -289,21 +289,14 @@ class Queue : public boost::enable_shared_from_this<Queue>, class DequeueCompletion : public RefCounted { public: - typedef void callback( boost::intrusive_ptr<RefCounted>& ctxt ); - DequeueCompletion() - : completionsNeeded(2), // one for register call, another for done call - cb(0) {} - + : completionsNeeded(2) {}// one for register call, another for done call void dequeueDone(); - void registerCallback( callback *f, boost::intrusive_ptr<RefCounted>& _ctxt ); + void registerCallback(boost::function<void()> f); private: mutable qpid::sys::AtomicValue<int> completionsNeeded; - callback *cb; - boost::intrusive_ptr<RefCounted> ctxt; - friend class Queue; - + boost::function<void()> cb; }; QPID_BROKER_EXTERN boost::intrusive_ptr<DequeueCompletion> dequeue(TransactionContext* ctxt, const QueuedMessage& msg); |