You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2016/05/05 19:25:58 UTC
[3/3] qpid-proton git commit: PROTON-1191: [C++ binding] Tidy up
defintion of delivery_mode
PROTON-1191: [C++ binding] Tidy up defintion of delivery_mode
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/d7e6e175
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/d7e6e175
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/d7e6e175
Branch: refs/heads/master
Commit: d7e6e1753fb002748e9a4fff53c5ce5e6b676412
Parents: c3c477d
Author: Andrew Stitcher <as...@apache.org>
Authored: Thu May 5 14:44:29 2016 -0400
Committer: Andrew Stitcher <as...@apache.org>
Committed: Thu May 5 15:20:41 2016 -0400
----------------------------------------------------------------------
proton-c/bindings/cpp/include/proton/delivery_mode.hpp | 13 ++++++++++++-
proton-c/bindings/cpp/src/receiver_options.cpp | 10 +++++-----
proton-c/bindings/cpp/src/sender_options.cpp | 10 +++++-----
3 files changed, 22 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d7e6e175/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/delivery_mode.hpp b/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
index 913f43b..fe420e6 100644
--- a/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
+++ b/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
@@ -25,7 +25,10 @@
namespace proton {
/// The message delivery policy to establish when opening a link.
-enum delivery_mode {
+/// This structure imitates the newer C++11 "enum class" so that
+/// The enumeration constants are in the delivery_mode namespace.
+struct delivery_mode {
+ enum modes {
// No set policy. The application must settle messages itself
// according to its own policy.
NONE = 0,
@@ -37,6 +40,14 @@ enum delivery_mode {
// settle until after the disposition notification is
// received.
AT_LEAST_ONCE
+ };
+
+ delivery_mode() : modes_(NONE) {}
+ delivery_mode(modes m) : modes_(m) {}
+ operator modes() { return modes_; }
+
+private:
+ modes modes_;
};
}
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d7e6e175/proton-c/bindings/cpp/src/receiver_options.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/receiver_options.cpp b/proton-c/bindings/cpp/src/receiver_options.cpp
index 733bd00..f39ea66 100644
--- a/proton-c/bindings/cpp/src/receiver_options.cpp
+++ b/proton-c/bindings/cpp/src/receiver_options.cpp
@@ -53,12 +53,12 @@ class receiver_options::impl {
return link_context::get(unwrap(l));
}
- static void set_delivery_mode(receiver l, enum delivery_mode mode) {
+ static void set_delivery_mode(receiver l, proton::delivery_mode mode) {
switch (mode) {
- case AT_MOST_ONCE:
+ case delivery_mode::AT_MOST_ONCE:
pn_link_set_snd_settle_mode(unwrap(l), PN_SND_SETTLED);
break;
- case AT_LEAST_ONCE:
+ case delivery_mode::AT_LEAST_ONCE:
pn_link_set_snd_settle_mode(unwrap(l), PN_SND_UNSETTLED);
pn_link_set_rcv_settle_mode(unwrap(l), PN_RCV_FIRST);
break;
@@ -69,7 +69,7 @@ class receiver_options::impl {
public:
option<proton_handler*> handler;
- option<enum delivery_mode> delivery_mode;
+ option<proton::delivery_mode> delivery_mode;
option<bool> auto_accept;
option<bool> auto_settle;
option<int> credit_window;
@@ -124,7 +124,7 @@ receiver_options& receiver_options::operator=(const receiver_options& x) {
void receiver_options::update(const receiver_options& x) { impl_->update(*x.impl_); }
receiver_options& receiver_options::handler(class handler *h) { impl_->handler = h->messaging_adapter_.get(); return *this; }
-receiver_options& receiver_options::delivery_mode(enum delivery_mode m) {impl_->delivery_mode = m; return *this; }
+receiver_options& receiver_options::delivery_mode(proton::delivery_mode m) {impl_->delivery_mode = m; return *this; }
receiver_options& receiver_options::auto_accept(bool b) {impl_->auto_accept = b; return *this; }
receiver_options& receiver_options::auto_settle(bool b) {impl_->auto_settle = b; return *this; }
receiver_options& receiver_options::credit_window(int w) {impl_->credit_window = w; return *this; }
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d7e6e175/proton-c/bindings/cpp/src/sender_options.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/sender_options.cpp b/proton-c/bindings/cpp/src/sender_options.cpp
index 9467c9e..ed030d9 100644
--- a/proton-c/bindings/cpp/src/sender_options.cpp
+++ b/proton-c/bindings/cpp/src/sender_options.cpp
@@ -51,12 +51,12 @@ class sender_options::impl {
return link_context::get(unwrap(l));
}
- static void set_delivery_mode(sender l, enum delivery_mode mode) {
+ static void set_delivery_mode(sender l, proton::delivery_mode mode) {
switch (mode) {
- case AT_MOST_ONCE:
+ case delivery_mode::AT_MOST_ONCE:
pn_link_set_snd_settle_mode(unwrap(l), PN_SND_SETTLED);
break;
- case AT_LEAST_ONCE:
+ case delivery_mode::AT_LEAST_ONCE:
pn_link_set_snd_settle_mode(unwrap(l), PN_SND_UNSETTLED);
pn_link_set_rcv_settle_mode(unwrap(l), PN_RCV_FIRST);
break;
@@ -67,7 +67,7 @@ class sender_options::impl {
public:
option<proton_handler*> handler;
- option<enum delivery_mode> delivery_mode;
+ option<proton::delivery_mode> delivery_mode;
option<bool> auto_settle;
option<source_options> source;
option<target_options> target;
@@ -112,7 +112,7 @@ sender_options& sender_options::operator=(const sender_options& x) {
void sender_options::update(const sender_options& x) { impl_->update(*x.impl_); }
sender_options& sender_options::handler(class handler *h) { impl_->handler = h->messaging_adapter_.get(); return *this; }
-sender_options& sender_options::delivery_mode(enum delivery_mode m) {impl_->delivery_mode = m; return *this; }
+sender_options& sender_options::delivery_mode(proton::delivery_mode m) {impl_->delivery_mode = m; return *this; }
sender_options& sender_options::auto_settle(bool b) {impl_->auto_settle = b; return *this; }
sender_options& sender_options::source(source_options &s) {impl_->source = s; return *this; }
sender_options& sender_options::target(target_options &s) {impl_->target = s; return *this; }
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org