diff options
Diffstat (limited to 'cpp/src/qpid/client')
| -rw-r--r-- | cpp/src/qpid/client/SubscriptionImpl.cpp | 3 | ||||
| -rw-r--r-- | cpp/src/qpid/client/SubscriptionSettings.h | 7 |
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 |
