summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionManager.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-05-01 17:05:00 +0000
committerAlan Conway <aconway@apache.org>2009-05-01 17:05:00 +0000
commit38dc8e231d6136dd6ae0cfa28f4f9dcb90677c77 (patch)
tree9321363049f8675518c83a2b53947143526dc5be /cpp/src/qpid/client/SubscriptionManager.cpp
parent4ed7e726a3ee1f3a86acbd1e2c89598b60b8c70a (diff)
downloadqpid-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.cpp9
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(