summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/client')
-rw-r--r--cpp/src/qpid/client/SubscriptionImpl.cpp3
-rw-r--r--cpp/src/qpid/client/SubscriptionSettings.h7
2 files changed, 8 insertions, 2 deletions
diff --git a/cpp/src/qpid/client/SubscriptionImpl.cpp b/cpp/src/qpid/client/SubscriptionImpl.cpp
index 6319371a4e..5ea87110c2 100644
--- a/cpp/src/qpid/client/SubscriptionImpl.cpp
+++ b/cpp/src/qpid/client/SubscriptionImpl.cpp
@@ -39,7 +39,8 @@ void SubscriptionImpl::subscribe()
arg::queue=queue,
arg::destination=name,
arg::acceptMode=settings.acceptMode,
- arg::acquireMode=settings.acquireMode);
+ arg::acquireMode=settings.acquireMode,
+ arg::exclusive=settings.exclusive);
setFlowControl(settings.flowControl);
}
diff --git a/cpp/src/qpid/client/SubscriptionSettings.h b/cpp/src/qpid/client/SubscriptionSettings.h
index 4b294b28aa..ade539b376 100644
--- a/cpp/src/qpid/client/SubscriptionSettings.h
+++ b/cpp/src/qpid/client/SubscriptionSettings.h
@@ -46,7 +46,7 @@ struct SubscriptionSettings
AcquireMode acquire=ACQUIRE_MODE_PRE_ACQUIRED,
unsigned int autoAck_=1,
CompletionMode completion=COMPLETE_ON_DELIVERY
- ) : flowControl(flow), acceptMode(accept), acquireMode(acquire), autoAck(autoAck_), completionMode(completion) {}
+ ) : flowControl(flow), acceptMode(accept), acquireMode(acquire), autoAck(autoAck_), completionMode(completion), exclusive(false) {}
FlowControl flowControl; ///@< Flow control settings. @see FlowControl
AcceptMode acceptMode; ///@< ACCEPT_MODE_EXPLICIT or ACCEPT_MODE_NONE
@@ -80,6 +80,11 @@ struct SubscriptionSettings
* completing messages (@see Session::markCompleted()).
*/
CompletionMode completionMode;
+ /**
+ * If set, requests that no other subscriber be allowed to access
+ * the queue while this subscription is active.
+ */
+ bool exclusive;
};
}} // namespace qpid::client