Repository: qpid-proton Updated Branches: refs/heads/master 9665c7496 -> f6247e004
PROTON-1153: [C++ binding] Make session constructor private and match all the other endpoints Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/f6247e00 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/f6247e00 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/f6247e00 Branch: refs/heads/master Commit: f6247e0045f9bb91f5327dee67545f333c91e79c Parents: 9665c74 Author: Andrew Stitcher <[email protected]> Authored: Fri May 13 15:33:29 2016 +0100 Committer: Andrew Stitcher <[email protected]> Committed: Fri May 13 15:33:29 2016 +0100 ---------------------------------------------------------------------- proton-c/bindings/cpp/include/proton/session.hpp | 7 +++++-- proton-c/bindings/cpp/src/connection.cpp | 4 ++-- proton-c/bindings/cpp/src/link.cpp | 2 +- proton-c/bindings/cpp/src/messaging_adapter.cpp | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6247e00/proton-c/bindings/cpp/include/proton/session.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/session.hpp b/proton-c/bindings/cpp/include/proton/session.hpp index 93ddc9a..30429b7 100644 --- a/proton-c/bindings/cpp/include/proton/session.hpp +++ b/proton-c/bindings/cpp/include/proton/session.hpp @@ -44,11 +44,13 @@ class handler; class PN_CPP_CLASS_EXTERN session : public internal::object<pn_session_t>, public endpoint { - public: /// @cond INTERNAL - session(pn_session_t* s=0) : internal::object<pn_session_t>(s) {} + session(pn_session_t* s) : internal::object<pn_session_t>(s) {} /// @endcond + public: + session() : internal::object<pn_session_t>(0) {} + // Endpoint behaviours /// Get the state of this session. @@ -99,6 +101,7 @@ PN_CPP_CLASS_EXTERN session : public internal::object<pn_session_t>, public endp PN_CPP_EXTERN receiver_range receivers() const; friend class internal::factory<session>; + friend class session_iterator; }; http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6247e00/proton-c/bindings/cpp/src/connection.cpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/src/connection.cpp b/proton-c/bindings/cpp/src/connection.cpp index f7f335d..326aa26 100644 --- a/proton-c/bindings/cpp/src/connection.cpp +++ b/proton-c/bindings/cpp/src/connection.cpp @@ -79,7 +79,7 @@ container& connection::container() const { } session_range connection::sessions() const { - return session_range(session_iterator(pn_session_head(pn_object(), 0))); + return session_range(session_iterator(make_wrapper(pn_session_head(pn_object(), 0)))); } session connection::open_session() { @@ -102,7 +102,7 @@ session connection::default_session() { ctx.default_session = pn_session(pn_object()); pn_session_open(ctx.default_session); } - return ctx.default_session; + return make_wrapper(ctx.default_session); } sender connection::open_sender(const std::string &addr) { http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6247e00/proton-c/bindings/cpp/src/link.cpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/src/link.cpp b/proton-c/bindings/cpp/src/link.cpp index 9b4f325..7da346f 100644 --- a/proton-c/bindings/cpp/src/link.cpp +++ b/proton-c/bindings/cpp/src/link.cpp @@ -76,7 +76,7 @@ class connection link::connection() const { } class session link::session() const { - return pn_link_session(pn_object()); + return make_wrapper(pn_link_session(pn_object())); } error_condition link::error() const { http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6247e00/proton-c/bindings/cpp/src/messaging_adapter.cpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/src/messaging_adapter.cpp b/proton-c/bindings/cpp/src/messaging_adapter.cpp index b8a6e32..6e5a666 100644 --- a/proton-c/bindings/cpp/src/messaging_adapter.cpp +++ b/proton-c/bindings/cpp/src/messaging_adapter.cpp @@ -204,7 +204,7 @@ void messaging_adapter::on_link_remote_close(proton_event &pe) { void messaging_adapter::on_session_remote_close(proton_event &pe) { pn_event_t *cevent = pe.pn_event(); pn_session_t *session = pn_event_session(cevent); - class session s(session); + class session s(make_wrapper(session)); if (pn_condition_is_set(pn_session_remote_condition(session))) { delegate_.on_session_error(s); } @@ -236,7 +236,7 @@ void messaging_adapter::on_connection_remote_open(proton_event &pe) { void messaging_adapter::on_session_remote_open(proton_event &pe) { pn_session_t *session = pn_event_session(pe.pn_event()); - class session s(session); + class session s(make_wrapper(session)); delegate_.on_session_open(s); if (!is_local_open(pn_session_state(session)) && is_local_unititialised(pn_session_state(session))) { pn_session_open(session); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
