From 74c1740d54360bb4b091b5486c69f0f945d27abd Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 17 Nov 2009 17:35:28 +0000 Subject: QPID-664: Add accessors for connection from session, and for session from sender/receiver. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@881395 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/messaging/Receiver.cpp | 2 ++ cpp/src/qpid/messaging/ReceiverImpl.h | 2 ++ cpp/src/qpid/messaging/Sender.cpp | 2 ++ cpp/src/qpid/messaging/SenderImpl.h | 2 ++ cpp/src/qpid/messaging/Session.cpp | 6 ++++++ cpp/src/qpid/messaging/SessionImpl.h | 5 +++-- 6 files changed, 17 insertions(+), 2 deletions(-) (limited to 'cpp/src/qpid/messaging') diff --git a/cpp/src/qpid/messaging/Receiver.cpp b/cpp/src/qpid/messaging/Receiver.cpp index 17bad6baed..bf9c056db8 100644 --- a/cpp/src/qpid/messaging/Receiver.cpp +++ b/cpp/src/qpid/messaging/Receiver.cpp @@ -21,6 +21,7 @@ #include "qpid/messaging/Receiver.h" #include "qpid/messaging/Message.h" #include "qpid/messaging/ReceiverImpl.h" +#include "qpid/messaging/Session.h" #include "qpid/client/PrivateImplRef.h" namespace qpid { @@ -48,4 +49,5 @@ uint32_t Receiver::available() { return impl->available(); } uint32_t Receiver::pendingAck() { return impl->pendingAck(); } void Receiver::cancel() { impl->cancel(); } const std::string& Receiver::getName() const { return impl->getName(); } +Session Receiver::getSession() const { return impl->getSession(); } }} // namespace qpid::messaging diff --git a/cpp/src/qpid/messaging/ReceiverImpl.h b/cpp/src/qpid/messaging/ReceiverImpl.h index 3d60437aba..447a505518 100644 --- a/cpp/src/qpid/messaging/ReceiverImpl.h +++ b/cpp/src/qpid/messaging/ReceiverImpl.h @@ -32,6 +32,7 @@ namespace messaging { class Message; class MessageListener; +class Session; class ReceiverImpl : public virtual qpid::RefCounted { @@ -47,6 +48,7 @@ class ReceiverImpl : public virtual qpid::RefCounted virtual uint32_t pendingAck() = 0; virtual void cancel() = 0; virtual const std::string& getName() const = 0; + virtual Session getSession() const = 0; }; }} // namespace qpid::messaging diff --git a/cpp/src/qpid/messaging/Sender.cpp b/cpp/src/qpid/messaging/Sender.cpp index 6087af3514..f2303f4126 100644 --- a/cpp/src/qpid/messaging/Sender.cpp +++ b/cpp/src/qpid/messaging/Sender.cpp @@ -21,6 +21,7 @@ #include "qpid/messaging/Sender.h" #include "qpid/messaging/Message.h" #include "qpid/messaging/SenderImpl.h" +#include "qpid/messaging/Session.h" #include "qpid/client/PrivateImplRef.h" namespace qpid { @@ -44,5 +45,6 @@ void Sender::setCapacity(uint32_t c) { impl->setCapacity(c); } uint32_t Sender::getCapacity() { return impl->getCapacity(); } uint32_t Sender::pending() { return impl->pending(); } const std::string& Sender::getName() const { return impl->getName(); } +Session Sender::getSession() const { return impl->getSession(); } }} // namespace qpid::messaging diff --git a/cpp/src/qpid/messaging/SenderImpl.h b/cpp/src/qpid/messaging/SenderImpl.h index 058ecf96f8..5f30417f6a 100644 --- a/cpp/src/qpid/messaging/SenderImpl.h +++ b/cpp/src/qpid/messaging/SenderImpl.h @@ -30,6 +30,7 @@ namespace client { namespace messaging { class Message; +class Session; class SenderImpl : public virtual qpid::RefCounted { @@ -41,6 +42,7 @@ class SenderImpl : public virtual qpid::RefCounted virtual uint32_t getCapacity() = 0; virtual uint32_t pending() = 0; virtual const std::string& getName() const = 0; + virtual Session getSession() const = 0; private: }; }} // namespace qpid::messaging diff --git a/cpp/src/qpid/messaging/Session.cpp b/cpp/src/qpid/messaging/Session.cpp index 5c702051d7..99896caad4 100644 --- a/cpp/src/qpid/messaging/Session.cpp +++ b/cpp/src/qpid/messaging/Session.cpp @@ -20,6 +20,7 @@ */ #include "qpid/messaging/Session.h" #include "qpid/messaging/Address.h" +#include "qpid/messaging/Connection.h" #include "qpid/messaging/Message.h" #include "qpid/messaging/Sender.h" #include "qpid/messaging/Receiver.h" @@ -98,6 +99,11 @@ Receiver Session::getReceiver(const std::string& name) const return impl->getReceiver(name); } +Connection Session::getConnection() const +{ + return impl->getConnection(); +} + KeyError::KeyError(const std::string& msg) : Exception(msg) {} }} // namespace qpid::messaging diff --git a/cpp/src/qpid/messaging/SessionImpl.h b/cpp/src/qpid/messaging/SessionImpl.h index c4139a27ea..164a6f6bc9 100644 --- a/cpp/src/qpid/messaging/SessionImpl.h +++ b/cpp/src/qpid/messaging/SessionImpl.h @@ -31,8 +31,8 @@ namespace client { namespace messaging { -struct Address; -struct Filter; +class Address; +class Connection; class Message; class Sender; class Receiver; @@ -56,6 +56,7 @@ class SessionImpl : public virtual qpid::RefCounted virtual uint32_t pendingAck() = 0; virtual Sender getSender(const std::string& name) const = 0; virtual Receiver getReceiver(const std::string& name) const = 0; + virtual Connection getConnection() const = 0; private: }; }} // namespace qpid::messaging -- cgit v1.2.1