summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/client/SubscriptionImpl.cpp')
-rw-r--r--cpp/src/qpid/client/SubscriptionImpl.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/cpp/src/qpid/client/SubscriptionImpl.cpp b/cpp/src/qpid/client/SubscriptionImpl.cpp
index fb5808f3a6..c0f58ed4e7 100644
--- a/cpp/src/qpid/client/SubscriptionImpl.cpp
+++ b/cpp/src/qpid/client/SubscriptionImpl.cpp
@@ -21,11 +21,13 @@
#include "AsyncSession.h"
#include "SubscriptionImpl.h"
+#include "SessionImpl.h"
#include "SubscriptionManagerImpl.h"
#include "MessageImpl.h"
#include "CompletionImpl.h"
#include "SubscriptionManager.h"
#include "SubscriptionSettings.h"
+#include "SessionBase_0_10Access.h"
#include "PrivateImplRef.h"
namespace qpid {
@@ -153,7 +155,9 @@ void SubscriptionImpl::received(Message& m) {
Demux::QueuePtr SubscriptionImpl::divert()
{
- demuxRule = std::auto_ptr<ScopedDivert>(new ScopedDivert(name, manager.getSession().getExecution().getDemux()));
+ Session session(manager.getSession());
+ Demux& demux = SessionBase_0_10Access(session).get()->getDemux();
+ demuxRule = std::auto_ptr<ScopedDivert>(new ScopedDivert(name, demux));
return demuxRule->getQueue();
}