Author: gsim
Date: Fri Jan  4 08:49:29 2008
New Revision: 608915

URL: http://svn.apache.org/viewvc?rev=608915&view=rev
Log:
Provide method to test for empty local queue.


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.cpp?rev=608915&r1=608914&r2=608915&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.cpp Fri Jan  4 
08:49:29 2008
@@ -47,4 +47,11 @@
 
 void LocalQueue::setAckPolicy(AckPolicy a) { autoAck=a; }
 
+bool LocalQueue::empty() 
+{ 
+    if (!queue)
+        throw ClosedException();
+    return queue->isEmpty(); 
+}
+
 }} // namespace qpid::client

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=608915&r1=608914&r2=608915&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h Fri Jan  4 
08:49:29 2008
@@ -42,6 +42,7 @@
      [EMAIL PROTECTED] ClosedException if subscription has been closed.
      */
     Message pop();
+    bool empty();
 
     void setAckPolicy(AckPolicy);
 

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h?rev=608915&r1=608914&r2=608915&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h Fri Jan  4 
08:49:29 2008
@@ -99,7 +99,12 @@
         Waitable::ScopedLock l(lock);
         return closed;
     }
-    
+
+    bool isEmpty() const {
+        Waitable::ScopedLock l(lock);
+        return queue.empty();
+    }    
+
   private:
 
     void queueNotify(size_t ignore) {


Reply via email to