diff options
author | Alan Conway <aconway@apache.org> | 2009-05-01 17:05:00 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2009-05-01 17:05:00 +0000 |
commit | 38dc8e231d6136dd6ae0cfa28f4f9dcb90677c77 (patch) | |
tree | 9321363049f8675518c83a2b53947143526dc5be /cpp/src/qpid/client/SubscriptionManager.cpp | |
parent | 4ed7e726a3ee1f3a86acbd1e2c89598b60b8c70a (diff) | |
download | qpid-python-38dc8e231d6136dd6ae0cfa28f4f9dcb90677c77.tar.gz |
Apply PIMPL pattern to qpid::client::LocalQueue
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@770756 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/SubscriptionManager.cpp')
-rw-r--r-- | cpp/src/qpid/client/SubscriptionManager.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/qpid/client/SubscriptionManager.cpp b/cpp/src/qpid/client/SubscriptionManager.cpp index b016109ead..999b9c6ba7 100644 --- a/cpp/src/qpid/client/SubscriptionManager.cpp +++ b/cpp/src/qpid/client/SubscriptionManager.cpp @@ -23,6 +23,8 @@ #include "SubscriptionManager.h" #include "SubscriptionImpl.h" +#include "LocalQueueImpl.h" +#include "PrivateImplRef.h" #include <qpid/client/Dispatcher.h> #include <qpid/client/Session.h> #include <qpid/client/MessageListener.h> @@ -56,10 +58,11 @@ Subscription SubscriptionManager::subscribe( sys::Mutex::ScopedLock l(lock); std::string name=n.empty() ? q:n; boost::intrusive_ptr<SubscriptionImpl> si = new SubscriptionImpl(*this, q, ss, name, 0); - lq.queue=si->divert(); + boost::intrusive_ptr<LocalQueueImpl> lqi = PrivateImplRef<LocalQueue>::get(lq); + lqi->queue=si->divert(); si->subscribe(); - lq.subscription = Subscription(si.get()); - return subscriptions[name] = lq.subscription; + lqi->subscription = Subscription(si.get()); + return subscriptions[name] = lqi->subscription; } Subscription SubscriptionManager::subscribe( |