diff options
-rw-r--r-- | cpp/src/qpid/client/SessionBase_0_10.cpp | 2 | ||||
-rw-r--r-- | cpp/src/qpid/client/SessionBase_0_10.h | 2 | ||||
-rw-r--r-- | cpp/src/tests/ClientSessionTest.cpp | 7 |
3 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/SessionBase_0_10.cpp b/cpp/src/qpid/client/SessionBase_0_10.cpp index 140d6f9a12..03c0468107 100644 --- a/cpp/src/qpid/client/SessionBase_0_10.cpp +++ b/cpp/src/qpid/client/SessionBase_0_10.cpp @@ -72,4 +72,6 @@ uint32_t SessionBase_0_10::timeout(uint32_t seconds) { return impl->setTimeout(s SessionId SessionBase_0_10::getId() const { return impl->getId(); } +bool SessionBase_0_10::isValid() const { return impl; } + }} // namespace qpid::client diff --git a/cpp/src/qpid/client/SessionBase_0_10.h b/cpp/src/qpid/client/SessionBase_0_10.h index 94686ff39f..8438977e45 100644 --- a/cpp/src/qpid/client/SessionBase_0_10.h +++ b/cpp/src/qpid/client/SessionBase_0_10.h @@ -97,6 +97,8 @@ class SessionBase_0_10 { QPID_CLIENT_EXTERN void markCompleted(const framing::SequenceNumber& id, bool cumulative, bool notifyPeer); QPID_CLIENT_EXTERN void sendCompletion(); + QPID_CLIENT_EXTERN bool isValid() const; + protected: boost::shared_ptr<SessionImpl> impl; friend class SessionBase_0_10Access; diff --git a/cpp/src/tests/ClientSessionTest.cpp b/cpp/src/tests/ClientSessionTest.cpp index f732d61ce1..c82cb77e95 100644 --- a/cpp/src/tests/ClientSessionTest.cpp +++ b/cpp/src/tests/ClientSessionTest.cpp @@ -583,6 +583,13 @@ QPID_AUTO_TEST_CASE(testGetThenSubscribe) { } } +QPID_AUTO_TEST_CASE(testSessionIsValid) { + ClientSessionFixture fix; + BOOST_CHECK(fix.session.isValid()); + Session session; + BOOST_CHECK(!session.isValid()); +} + QPID_AUTO_TEST_SUITE_END() |