summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Cluster.h
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2008-09-16 19:33:36 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2008-09-16 19:33:36 +0000
commit28af05eefebf472eefffd9458f9ae0eac52a5e87 (patch)
treee4327baca81b9e91768562a19aa0d2df6f373c86 /cpp/src/qpid/cluster/Cluster.h
parent8709822ffee38d9bf16f4cf43114bc450fc222eb (diff)
downloadqpid-python-28af05eefebf472eefffd9458f9ae0eac52a5e87.tar.gz
- add mgnt schema for cluster
- add mgnt object and init - create call-backs to stop a cluster node & the full cluster git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@696017 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Cluster.h')
-rw-r--r--cpp/src/qpid/cluster/Cluster.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/qpid/cluster/Cluster.h b/cpp/src/qpid/cluster/Cluster.h
index e33cca8482..982a9da2ca 100644
--- a/cpp/src/qpid/cluster/Cluster.h
+++ b/cpp/src/qpid/cluster/Cluster.h
@@ -29,6 +29,8 @@
#include "qpid/sys/Monitor.h"
#include "qpid/framing/AMQP_AllOperations.h"
#include "qpid/Url.h"
+#include "qpid/management/Manageable.h"
+#include "qmf/org/apache/qpid/cluster/Cluster.h"
#include <boost/intrusive_ptr.hpp>
@@ -43,7 +45,7 @@ class Connection;
* Connection to the cluster.
* Keeps cluster membership data.
*/
-class Cluster : private Cpg::Handler
+class Cluster : private Cpg::Handler, public management::Manageable
{
public:
@@ -129,6 +131,11 @@ class Cluster : private Cpg::Handler
boost::intrusive_ptr<cluster::Connection> getConnection(const ConnectionId&);
+ virtual qpid::management::ManagementObject* GetManagementObject(void) const;
+ virtual management::Manageable::status_t ManagementMethod (uint32_t methodId, management::Args& args, std::string& text);
+ void stopClusterNode(void);
+ void stopFullCluster(void);
+
mutable sys::Monitor lock; // Protect access to members.
broker::Broker& broker;
boost::shared_ptr<sys::Poller> poller;
@@ -142,6 +149,7 @@ class Cluster : private Cpg::Handler
sys::DispatchHandle cpgDispatchHandle;
EventQueue connectionEventQueue;
State state;
+ qmf::org::apache::qpid::cluster::Cluster* mgmtObject; // mgnt owns lifecycle
};
}} // namespace qpid::cluster