diff options
| author | Carl C. Trieloff <cctrieloff@apache.org> | 2007-11-13 00:34:09 +0000 |
|---|---|---|
| committer | Carl C. Trieloff <cctrieloff@apache.org> | 2007-11-13 00:34:09 +0000 |
| commit | b4a562164bfbf627c9bf9e802ea2baa33d12521a (patch) | |
| tree | e3e1d0ed46174cf61e15569659c97a3c93ac6b97 /cpp/src/qpid/broker/Queue.h | |
| parent | 6128b62ed47c825dba3f7a36ccdb60b55044ea2e (diff) | |
| download | qpid-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.h | 17 |
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); }; } } |
