summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2007-09-06 20:41:56 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2007-09-06 20:41:56 +0000
commitcef8cb403ef217ed797c261933ed8e89b174ea60 (patch)
tree4be5598172198561fba6aa5c63b45b065fa02285 /cpp/src
parentb33a63b36c659a894143382d0a61efe6a598fcc6 (diff)
downloadqpid-python-cef8cb403ef217ed797c261933ed8e89b174ea60.tar.gz
interface to hang external journal's per queue onto a PersistableQueue
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@573367 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/PersistableQueue.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/PersistableQueue.h b/cpp/src/qpid/broker/PersistableQueue.h
index 4ba08c5998..f98bf7e871 100644
--- a/cpp/src/qpid/broker/PersistableQueue.h
+++ b/cpp/src/qpid/broker/PersistableQueue.h
@@ -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 @@ class PersistableQueue : public Persistable
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:
/**
@@ -49,6 +72,8 @@ protected:
*/
virtual void notifyDurableIOComplete() = 0;
+ ExternalQueueStore* externalQueueStore;
+
};
}}