diff options
author | Carl C. Trieloff <cctrieloff@apache.org> | 2007-09-06 20:41:56 +0000 |
---|---|---|
committer | Carl C. Trieloff <cctrieloff@apache.org> | 2007-09-06 20:41:56 +0000 |
commit | cef8cb403ef217ed797c261933ed8e89b174ea60 (patch) | |
tree | 4be5598172198561fba6aa5c63b45b065fa02285 /cpp/src | |
parent | b33a63b36c659a894143382d0a61efe6a598fcc6 (diff) | |
download | qpid-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.h | 27 |
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; + }; }} |