Author: aconway
Date: Fri Oct 31 08:08:00 2008
New Revision: 709440

URL: http://svn.apache.org/viewvc?rev=709440&view=rev
Log:
Added return Message overload of SubscriptionManager get().

Fixed compile error in broker/Vhost.cpp

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
    incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp Fri Oct 31 08:08:00 
2008
@@ -24,7 +24,9 @@
 using qpid::management::ManagementAgent;
 namespace _qmf = qmf::org::apache::qpid::broker;
 
-class qpid::management::Manageable;
+namespace qpid { namespace management {
+class Manageable;
+}}
 
 Vhost::Vhost (qpid::management::Manageable* parentBroker) : mgmtObject(0)
 {

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h Fri Oct 31 
08:08:00 2008
@@ -58,11 +58,13 @@
 
     /** Get the next message off the local queue, or wait up to the timeout
      * for message from the broker queue.
-     [EMAIL PROTECTED] ClosedException if subscription is closed or timeout 
exceeded.
+     [EMAIL PROTECTED] timeout wait up this timeout for a message to appear.
+     [EMAIL PROTECTED] message from the queue.
+     [EMAIL PROTECTED] ClosedException if subscription is closed or timeout 
exceeded.
      */
     Message get(sys::Duration timeout=sys::TIME_INFINITE);
 
-    /** Synonym for get(). */
+    /** Synonym for get() */
     Message pop(sys::Duration timeout=sys::TIME_INFINITE);
 
     /** Return true if local queue is empty. */

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp Fri 
Oct 31 08:08:00 2008
@@ -107,6 +107,13 @@
     return lq.get(result, 0);
 }
 
+Message SubscriptionManager::get(const std::string& queue, sys::Duration 
timeout) {
+    Message result;
+    if (!get(result, queue, timeout))
+        throw Exception("Timed out waiting for a message");
+    return result;
+}
+
 Session SubscriptionManager::getSession() const { return session; }
 
 Subscription SubscriptionManager::getSubscription(const std::string& name) 
const {

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h Fri Oct 
31 08:08:00 2008
@@ -120,12 +120,18 @@
 
     /** Get a single message from a queue.
      [EMAIL PROTECTED] result is set to the message from the queue.
-     *@
      [EMAIL PROTECTED] timeout wait up this timeout for a message to appear. 
      [EMAIL PROTECTED] true if result was set, false if no message available 
after timeout.
      */
     bool get(Message& result, const std::string& queue, sys::Duration 
timeout=0);
 
+    /** Get a single message from a queue.
+     [EMAIL PROTECTED] timeout wait up this timeout for a message to appear. 
+     [EMAIL PROTECTED] message from the queue.
+     [EMAIL PROTECTED] Exception if the timeout is exceeded.
+     */
+    Message get(const std::string& queue, sys::Duration 
timeout=sys::TIME_INFINITE);
+
     /** Get a subscription by name.
      [EMAIL PROTECTED] Exception if not found.
      */

Modified: incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp Fri Oct 31 
08:08:00 2008
@@ -264,12 +264,9 @@
     BOOST_CHECK_EQUAL(c1.session.queueQuery("q1").getMessageCount(), 1u);
     BOOST_CHECK_EQUAL(c1.session.queueQuery("q2").getMessageCount(), 2u);
 
-    BOOST_CHECK(c1.subs.get(m, "q1", TIME_SEC));
-    BOOST_CHECK_EQUAL(m.getData(), "11");
-    BOOST_CHECK(c1.subs.get(m, "q2", TIME_SEC));
-    BOOST_CHECK_EQUAL(m.getData(), "21");
-    BOOST_CHECK(c1.subs.get(m, "q2", TIME_SEC));
-    BOOST_CHECK_EQUAL(m.getData(), "22");
+    BOOST_CHECK_EQUAL(c1.subs.get("q1", TIME_SEC).getData(), "11");
+    BOOST_CHECK_EQUAL(c1.subs.get("q2", TIME_SEC).getData(), "21");
+    BOOST_CHECK_EQUAL(c1.subs.get("q2", TIME_SEC).getData(), "22");
 }
 
 QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testDumpTxState, 1) {


Reply via email to