summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.h
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2007-11-13 00:34:09 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2007-11-13 00:34:09 +0000
commitb4a562164bfbf627c9bf9e802ea2baa33d12521a (patch)
treee3e1d0ed46174cf61e15569659c97a3c93ac6b97 /cpp/src/qpid/broker/Queue.h
parent6128b62ed47c825dba3f7a36ccdb60b55044ea2e (diff)
downloadqpid-python-b4a562164bfbf627c9bf9e802ea2baa33d12521a.tar.gz
Patch QPID-680 from tross
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@594364 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Queue.h')
-rw-r--r--cpp/src/qpid/broker/Queue.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/cpp/src/qpid/broker/Queue.h b/cpp/src/qpid/broker/Queue.h
index a1bbe275da..4439ecbcc1 100644
--- a/cpp/src/qpid/broker/Queue.h
+++ b/cpp/src/qpid/broker/Queue.h
@@ -35,7 +35,8 @@
#include "PersistableQueue.h"
#include "QueuePolicy.h"
#include "QueueBindings.h"
-#include "management/ManagementObjectQueue.h"
+#include "qpid/management/Manageable.h"
+#include "qpid/management/Queue.h"
namespace qpid {
namespace broker {
@@ -59,7 +60,7 @@ namespace qpid {
* registered consumers or be stored until dequeued or until one
* or more consumers registers.
*/
- class Queue : public PersistableQueue {
+ class Queue : public PersistableQueue, public management::Manageable {
typedef std::vector<Consumer::ptr> Consumers;
typedef std::deque<QueuedMessage> Messages;
@@ -94,7 +95,7 @@ namespace qpid {
qpid::sys::Serializer<DispatchFunctor> serializer;
DispatchFunctor dispatchCallback;
framing::SequenceNumber sequence;
- ManagementObjectQueue::shared_ptr mgmtObject;
+ management::Queue::shared_ptr mgmtObject;
void pop();
void push(Message::shared_ptr& msg);
@@ -122,7 +123,8 @@ namespace qpid {
Queue(const string& name, bool autodelete = false,
MessageStore* const store = 0,
- const ConnectionToken* const owner = 0);
+ const ConnectionToken* const owner = 0,
+ Manageable* parent = 0);
~Queue();
void create(const qpid::framing::FieldTable& settings);
@@ -130,8 +132,6 @@ namespace qpid {
void destroy();
void bound(const string& exchange, const string& key, const qpid::framing::FieldTable& args);
void unbind(ExchangeRegistry& exchanges, Queue::shared_ptr shared_ref);
- void setMgmt (ManagementObjectQueue::shared_ptr mgmt) { mgmtObject = mgmt; }
- ManagementObjectQueue::shared_ptr getMgmt (void) { return mgmtObject; }
bool acquire(const QueuedMessage& msg);
@@ -203,6 +203,11 @@ namespace qpid {
static Queue::shared_ptr decode(QueueRegistry& queues, framing::Buffer& buffer);
static void tryAutoDelete(Broker& broker, Queue::shared_ptr);
+
+ // Manageable entry points
+ management::ManagementObject::shared_ptr GetManagementObject (void) const;
+ management::Manageable::status_t
+ ManagementMethod (uint32_t methodId, management::Args& args);
};
}
}