You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by cc...@apache.org on 2007/09/06 22:41:57 UTC

svn commit: r573367 - /incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h

Author: cctrieloff
Date: Thu Sep  6 13:41:56 2007
New Revision: 573367

URL: http://svn.apache.org/viewvc?rev=573367&view=rev
Log:
interface to hang external journal's per queue onto a PersistableQueue


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h?rev=573367&r1=573366&r2=573367&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h Thu Sep  6 13:41:56 2007
@@ -28,6 +28,19 @@
 namespace qpid {
 namespace broker {
 
+
+/**
+* Empty class to be used by any module that wanted to set an external per queue store into
+* persistableQueue
+*/
+
+class ExternalQueueStore
+{
+
+
+};
+
+
 /**
  * The interface queues must expose to the MessageStore in order to be
  * persistable.
@@ -37,7 +50,17 @@
 public:
 
     virtual const std::string& getName() const = 0;
-    virtual ~PersistableQueue() {};
+    virtual ~PersistableQueue() {
+        if (externalQueueStore) 
+	   delete externalQueueStore;
+    };
+
+    inline void setExternalQueueStore(ExternalQueueStore* inst) {externalQueueStore = inst;};
+    inline ExternalQueueStore* getExternalQueueStore() {return externalQueueStore;};
+    
+    PersistableQueue():externalQueueStore(NULL){
+    };
+    
     
 protected:
     /**
@@ -48,6 +71,8 @@
     * this callback you will block the store.
     */
     virtual void notifyDurableIOComplete()  = 0;
+    
+    ExternalQueueStore* externalQueueStore;
     
 };