diff options
| author | Gordon Sim <gsim@apache.org> | 2010-06-30 22:22:50 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2010-06-30 22:22:50 +0000 |
| commit | 62a1dcddbc7f087df2d8cd1ee19f8f4b5c50bc3d (patch) | |
| tree | 5db3b475ce576d41c7b13570b67e3db4f9d49aa9 /qpid/cpp/src | |
| parent | 0787688bfce0afdfba92b3143fffae9bf652bf1d (diff) | |
| download | qpid-python-62a1dcddbc7f087df2d8cd1ee19f8f4b5c50bc3d.tar.gz | |
QPID-664: expose authenticated username for connection
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@959461 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp | 4 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.h | 1 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/messaging/Connection.cpp | 5 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/messaging/ConnectionImpl.h | 1 | ||||
| -rw-r--r-- | qpid/cpp/src/tests/MessagingSessionTests.cpp | 6 |
5 files changed, 16 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp b/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp index f93df90d7e..2fe55cc035 100644 --- a/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp +++ b/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp @@ -325,5 +325,9 @@ bool ConnectionImpl::backoff() return false; } } +std::string ConnectionImpl::getAuthenticatedUsername() +{ + return connection.getNegotiatedSettings().username; +} }}} // namespace qpid::client::amqp0_10 diff --git a/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.h b/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.h index 904cef750c..8467376725 100644 --- a/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.h +++ b/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.h @@ -51,6 +51,7 @@ class ConnectionImpl : public qpid::messaging::ConnectionImpl void detach(); void setOption(const std::string& name, const qpid::types::Variant& value); bool backoff(); + std::string getAuthenticatedUsername(); private: typedef std::map<std::string, qpid::messaging::Session> Sessions; diff --git a/qpid/cpp/src/qpid/messaging/Connection.cpp b/qpid/cpp/src/qpid/messaging/Connection.cpp index 2bd5ba96f9..e132b6e899 100644 --- a/qpid/cpp/src/qpid/messaging/Connection.cpp +++ b/qpid/cpp/src/qpid/messaging/Connection.cpp @@ -74,5 +74,8 @@ void Connection::setOption(const std::string& name, const Variant& value) { impl->setOption(name, value); } - +std::string Connection::getAuthenticatedUsername() +{ + return impl->getAuthenticatedUsername(); +} }} // namespace qpid::messaging diff --git a/qpid/cpp/src/qpid/messaging/ConnectionImpl.h b/qpid/cpp/src/qpid/messaging/ConnectionImpl.h index 23ab5272d0..fb45ee5e8b 100644 --- a/qpid/cpp/src/qpid/messaging/ConnectionImpl.h +++ b/qpid/cpp/src/qpid/messaging/ConnectionImpl.h @@ -44,6 +44,7 @@ class ConnectionImpl : public virtual qpid::RefCounted virtual Session newSession(bool transactional, const std::string& name) = 0; virtual Session getSession(const std::string& name) const = 0; virtual void setOption(const std::string& name, const qpid::types::Variant& value) = 0; + virtual std::string getAuthenticatedUsername() = 0; private: }; }} // namespace qpid::messaging diff --git a/qpid/cpp/src/tests/MessagingSessionTests.cpp b/qpid/cpp/src/tests/MessagingSessionTests.cpp index c22cb4bf73..ce1d885e46 100644 --- a/qpid/cpp/src/tests/MessagingSessionTests.cpp +++ b/qpid/cpp/src/tests/MessagingSessionTests.cpp @@ -769,6 +769,12 @@ QPID_AUTO_TEST_CASE(testExclusiveSubscriber) } catch (const MessagingException& e) {} } +QPID_AUTO_TEST_CASE(testAuthenticatedUsername) +{ + MessagingFixture fix; + BOOST_CHECK_EQUAL(fix.connection.getAuthenticatedUsername(), std::string("anonymous")); +} + QPID_AUTO_TEST_SUITE_END() |
