summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionImpl.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-05-04 17:22:33 +0000
committerAlan Conway <aconway@apache.org>2009-05-04 17:22:33 +0000
commitcf3a9eb8cf578be00f0556ff5d93bfdf7c12aec8 (patch)
tree2b67937230ab3aaa1770f85125a77376d616dc05 /cpp/src/qpid/client/SubscriptionImpl.cpp
parent2407f9f523b0eeeb8988e30c797fdb46039fc3d3 (diff)
downloadqpid-python-cf3a9eb8cf578be00f0556ff5d93bfdf7c12aec8.tar.gz
Applied PIMPL pattern to SubscriptionManager.
Cleaned up some sloppy #includes. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771366 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/SubscriptionImpl.cpp')
-rw-r--r--cpp/src/qpid/client/SubscriptionImpl.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/qpid/client/SubscriptionImpl.cpp b/cpp/src/qpid/client/SubscriptionImpl.cpp
index 69f79a1436..fb5808f3a6 100644
--- a/cpp/src/qpid/client/SubscriptionImpl.cpp
+++ b/cpp/src/qpid/client/SubscriptionImpl.cpp
@@ -19,11 +19,14 @@
*
*/
+#include "AsyncSession.h"
#include "SubscriptionImpl.h"
+#include "SubscriptionManagerImpl.h"
#include "MessageImpl.h"
#include "CompletionImpl.h"
#include "SubscriptionManager.h"
#include "SubscriptionSettings.h"
+#include "PrivateImplRef.h"
namespace qpid {
namespace client {
@@ -31,8 +34,8 @@ namespace client {
using sys::Mutex;
using framing::MessageAcquireResult;
-SubscriptionImpl::SubscriptionImpl(SubscriptionManager& m, const std::string& q, const SubscriptionSettings& s, const std::string& n, MessageListener* l)
- : manager(m), name(n), queue(q), settings(s), listener(l)
+SubscriptionImpl::SubscriptionImpl(SubscriptionManager m, const std::string& q, const SubscriptionSettings& s, const std::string& n, MessageListener* l)
+ : manager(*PrivateImplRef<SubscriptionManager>::get(m)), name(n), queue(q), settings(s), listener(l)
{}
void SubscriptionImpl::subscribe()
@@ -110,7 +113,7 @@ void SubscriptionImpl::release(const SequenceSet& messageIds) {
Session SubscriptionImpl::getSession() const { return manager.getSession(); }
-SubscriptionManager& SubscriptionImpl::getSubscriptionManager() const { return manager; }
+SubscriptionManager SubscriptionImpl::getSubscriptionManager() { return SubscriptionManager(&manager); }
void SubscriptionImpl::cancel() { manager.cancel(name); }