summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2006-11-03 13:44:21 +0000
committerGordon Sim <gsim@apache.org>2006-11-03 13:44:21 +0000
commit15a915878c787e6d5ed8330a8dd4375ec885a6c0 (patch)
treee580dbbeb7c61c4dc1a1348156c1970e09311b10 /cpp/src/qpid/broker/Queue.cpp
parent20b96a39f539bf5181a58d1235f521d6a544bc47 (diff)
downloadqpid-python-15a915878c787e6d5ed8330a8dd4375ec885a6c0.tar.gz
Added some methods to MessageStore interface and hooked these in where appropriate.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@470810 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Queue.cpp')
-rw-r--r--cpp/src/qpid/broker/Queue.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp
index d671cea9a5..8a81b07aef 100644
--- a/cpp/src/qpid/broker/Queue.cpp
+++ b/cpp/src/qpid/broker/Queue.cpp
@@ -23,13 +23,12 @@
using namespace qpid::broker;
using namespace qpid::concurrent;
-Queue::Queue(const string& _name, bool _durable, u_int32_t _autodelete,
+Queue::Queue(const string& _name, u_int32_t _autodelete,
MessageStore* const _store,
const ConnectionToken* const _owner) :
name(_name),
autodelete(_autodelete),
- durable(_durable),
store(_store),
owner(_owner),
queueing(false),
@@ -166,12 +165,26 @@ bool Queue::canAutoDelete() const{
void Queue::enqueue(Message::shared_ptr& msg, const string * const xid){
if(store){
- store->enqueue(msg, name, xid);
+ store->enqueue(msg, *this, xid);
}
}
void Queue::dequeue(Message::shared_ptr& msg, const string * const xid){
if(store){
- store->dequeue(msg, name, xid);
+ store->dequeue(msg, *this, xid);
+ }
+}
+
+void Queue::create()
+{
+ if(store){
+ store->create(*this);
+ }
+}
+
+void Queue::destroy()
+{
+ if(store){
+ store->destroy(*this);
}
}