From 56480c85567423e45a97a1f1c710e656ff0ed52e Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Mon, 27 Oct 2008 15:05:19 +0000 Subject: client::SubscriptionManager::findSubscription() throws if not found. Added progress indicator to boost tests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@708210 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/client/SubscriptionManager.cpp | 6 ++++-- cpp/src/qpid/client/SubscriptionManager.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'cpp/src/qpid/client') diff --git a/cpp/src/qpid/client/SubscriptionManager.cpp b/cpp/src/qpid/client/SubscriptionManager.cpp index 13cdd7cad1..350fd86aa6 100644 --- a/cpp/src/qpid/client/SubscriptionManager.cpp +++ b/cpp/src/qpid/client/SubscriptionManager.cpp @@ -110,8 +110,10 @@ bool SubscriptionManager::get(Message& result, const std::string& queue, sys::Du Session SubscriptionManager::getSession() const { return session; } Subscription SubscriptionManager::getSubscription(const std::string& name) const { - - return (*subscriptions.find(name)).second; + std::map::const_iterator i = subscriptions.find(name); + if (i == subscriptions.end()) + throw Exception(QPID_MSG("Subscription not found: " << name)); + return i->second; } void SubscriptionManager::registerFailoverHandler (boost::function fh) { diff --git a/cpp/src/qpid/client/SubscriptionManager.h b/cpp/src/qpid/client/SubscriptionManager.h index 8b27a2c9b9..46394808f4 100644 --- a/cpp/src/qpid/client/SubscriptionManager.h +++ b/cpp/src/qpid/client/SubscriptionManager.h @@ -126,8 +126,8 @@ class SubscriptionManager : public sys::Runnable */ bool get(Message& result, const std::string& queue, sys::Duration timeout=0); - /** Get a subscription by name, returns a null Subscription handle - * if not found. + /** Get a subscription by name. + *@throw Exception if not found. */ Subscription getSubscription(const std::string& name) const; -- cgit v1.2.1