summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/client/SubscriptionManager.h')
-rw-r--r--cpp/src/qpid/client/SubscriptionManager.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/SubscriptionManager.h b/cpp/src/qpid/client/SubscriptionManager.h
index 1a03c1a47b..5cff46f0f2 100644
--- a/cpp/src/qpid/client/SubscriptionManager.h
+++ b/cpp/src/qpid/client/SubscriptionManager.h
@@ -37,11 +37,15 @@ class SubscriptionManager
typedef sys::Mutex::ScopedLock Lock;
typedef sys::Mutex::ScopedUnlock Unlock;
+ void subscribeInternal(const std::string& q, const std::string& dest);
+
qpid::client::Dispatcher dispatcher;
qpid::client::Session_0_10& session;
uint32_t messages;
uint32_t bytes;
bool window;
+ AckPolicy autoAck;
+ bool confirmMode;
public:
SubscriptionManager(Session_0_10& session);
@@ -96,6 +100,17 @@ public:
*@param window: if true use window-based flow control.
*/
void setFlowControl(uint32_t messages, uint32_t bytes, bool window=true);
+
+ /** Set the confirm-mode for new subscriptions. Defaults to true.
+ *@param confirm: if true messages must be confirmed by calling
+ *Message::acknowledge() or automatically, see setAckPolicy()
+ */
+ void setConfirmMode(bool confirm);
+
+ /** Set the acknowledgement policy for new subscriptions.
+ * Default is to acknowledge every message automatically.
+ */
+ void setAckPolicy(const AckPolicy& autoAck);
};