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/06/28 14:36:13 UTC
qpid-proton git commit: PROTON-1247: Fix symbol export for transfer,
delivery & tracker PROTON-1248: Allow API to query state of delivery
and tracker
Repository: qpid-proton
Updated Branches:
refs/heads/master 1d704cb28 -> 0ed8b257c
PROTON-1247: Fix symbol export for transfer, delivery & tracker
PROTON-1248: Allow API to query state of delivery and tracker
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/0ed8b257
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/0ed8b257
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/0ed8b257
Branch: refs/heads/master
Commit: 0ed8b257c4eef7ac540ed00ea086f21e861ee0c1
Parents: 1d704cb
Author: Andrew Stitcher <as...@apache.org>
Authored: Mon Jun 27 16:38:20 2016 -0400
Committer: Andrew Stitcher <as...@apache.org>
Committed: Tue Jun 28 10:35:40 2016 -0400
----------------------------------------------------------------------
.../bindings/cpp/include/proton/delivery.hpp | 8 ++---
.../bindings/cpp/include/proton/transfer.hpp | 33 ++++++++------------
proton-c/bindings/cpp/src/delivery.cpp | 13 ++++++++
proton-c/bindings/cpp/src/transfer.cpp | 7 -----
4 files changed, 30 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0ed8b257/proton-c/bindings/cpp/include/proton/delivery.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/delivery.hpp b/proton-c/bindings/cpp/include/proton/delivery.hpp
index 53780a2..91fd143 100644
--- a/proton-c/bindings/cpp/include/proton/delivery.hpp
+++ b/proton-c/bindings/cpp/include/proton/delivery.hpp
@@ -52,16 +52,16 @@ class delivery : public transfer {
// get from the different delivery modes. - Deferred
/// Settle with ACCEPTED state.
- PN_CPP_EXTERN void accept() { settle(ACCEPTED); }
+ PN_CPP_EXTERN void accept();
/// Settle with REJECTED state.
- PN_CPP_EXTERN void reject() { settle(REJECTED); }
+ PN_CPP_EXTERN void reject();
/// Settle with RELEASED state.
- PN_CPP_EXTERN void release() { settle(RELEASED); }
+ PN_CPP_EXTERN void release();
/// Settle with MODIFIED state.
- PN_CPP_EXTERN void modify() { settle(MODIFIED); }
+ PN_CPP_EXTERN void modify();
/// @cond INTERNAL
friend class internal::factory<delivery>;
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0ed8b257/proton-c/bindings/cpp/include/proton/transfer.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/transfer.hpp b/proton-c/bindings/cpp/include/proton/transfer.hpp
index d9f38a9..c4f984a 100644
--- a/proton-c/bindings/cpp/include/proton/transfer.hpp
+++ b/proton-c/bindings/cpp/include/proton/transfer.hpp
@@ -40,6 +40,19 @@ class transfer : public internal::object<pn_delivery_t> {
/// Create an empty transfer.
transfer() : internal::object<pn_delivery_t>(0) {}
+ /// Delivery state values.
+ enum state {
+ NONE = 0, ///< Unknown state
+ RECEIVED = PN_RECEIVED, ///< Received but not yet settled
+ ACCEPTED = PN_ACCEPTED, ///< Settled as accepted
+ REJECTED = PN_REJECTED, ///< Settled as rejected
+ RELEASED = PN_RELEASED, ///< Settled as released
+ MODIFIED = PN_MODIFIED ///< Settled as modified
+ }; // AMQP spec 3.4 delivery State
+
+ /// Get the remote state for a delivery.
+ PN_CPP_EXTERN enum state state() const;
+
/// Return the session for this transfer.
PN_CPP_EXTERN class session session() const;
@@ -55,26 +68,6 @@ class transfer : public internal::object<pn_delivery_t> {
/// Return true if the transfer has been settled.
PN_CPP_EXTERN bool settled() const;
- protected:
- /// Delivery state values.
- enum state {
- NONE = 0, ///< Unknown state
- RECEIVED = PN_RECEIVED, ///< Received but not yet settled
- ACCEPTED = PN_ACCEPTED, ///< Settled as accepted
- REJECTED = PN_REJECTED, ///< Settled as rejected
- RELEASED = PN_RELEASED, ///< Settled as released
- MODIFIED = PN_MODIFIED ///< Settled as modified
- }; // AMQP spec 3.4 delivery State
-
- /// Set the local state of the delivery.
- void update(enum state state);
-
- /// Update and settle a delivery with the given delivery::state
- void settle(enum state s);
-
- /// Get the remote state for a delivery.
- enum state state() const;
-
/// @cond INTERNAL
friend class internal::factory<transfer>;
/// @endcond
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0ed8b257/proton-c/bindings/cpp/src/delivery.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/delivery.cpp b/proton-c/bindings/cpp/src/delivery.cpp
index 7effc52..cae2bf0 100644
--- a/proton-c/bindings/cpp/src/delivery.cpp
+++ b/proton-c/bindings/cpp/src/delivery.cpp
@@ -25,9 +25,22 @@
#include "proton_bits.hpp"
+namespace {
+
+void settle_delivery(pn_delivery_t* o, uint64_t state) {
+ pn_delivery_update(o, state);
+ pn_delivery_settle(o);
+}
+
+}
+
namespace proton {
delivery::delivery(pn_delivery_t* d): transfer(make_wrapper(d)) {}
receiver delivery::receiver() const { return make_wrapper<class receiver>(pn_delivery_link(pn_object())); }
+void delivery::accept() { settle_delivery(pn_object(), ACCEPTED); }
+void delivery::reject() { settle_delivery(pn_object(), REJECTED); }
+void delivery::release() { settle_delivery(pn_object(), RELEASED); }
+void delivery::modify() { settle_delivery(pn_object(), MODIFIED); }
}
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0ed8b257/proton-c/bindings/cpp/src/transfer.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/transfer.cpp b/proton-c/bindings/cpp/src/transfer.cpp
index 7331489..78b6c0e 100644
--- a/proton-c/bindings/cpp/src/transfer.cpp
+++ b/proton-c/bindings/cpp/src/transfer.cpp
@@ -41,12 +41,5 @@ bool transfer::settled() const { return pn_delivery_settled(pn_object()); }
void transfer::settle() { pn_delivery_settle(pn_object()); }
-void transfer::update(enum state state) { pn_delivery_update(pn_object(), state); }
-
-void transfer::settle(enum state state) {
- update(state);
- settle();
-}
-
enum transfer::state transfer::state() const { return static_cast<enum state>(pn_delivery_remote_state(pn_object())); }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org