summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Broker.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-11-23 13:37:42 +0000
committerAlan Conway <aconway@apache.org>2007-11-23 13:37:42 +0000
commita3aaa263858f07d37e5860136300f76fab8d7ecd (patch)
treef188402580f36e06113a92c3c74575d13040c1d0 /cpp/src/qpid/broker/Broker.cpp
parentcb070d9813e4232b4ec8409ca555b529ee5cee4b (diff)
downloadqpid-python-a3aaa263858f07d37e5860136300f76fab8d7ecd.tar.gz
QPID-689 from tross@redhat.com.
This patch introduces formal schema specification for management and code generation for management classes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597662 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Broker.cpp')
-rw-r--r--cpp/src/qpid/broker/Broker.cpp37
1 files changed, 33 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp
index d61100d255..4e22cb7352 100644
--- a/cpp/src/qpid/broker/Broker.cpp
+++ b/cpp/src/qpid/broker/Broker.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "config.h"
#include "Broker.h"
#include "Connection.h"
#include "DirectExchange.h"
@@ -124,7 +125,19 @@ Broker::Broker(const Broker::Options& conf) :
managementAgent = ManagementAgent::getAgent ();
managementAgent->setInterval (conf.mgmtPubInterval);
- mgmtObject = management::Broker::shared_ptr (new management::Broker (this, conf));
+ mgmtObject = management::Broker::shared_ptr (new management::Broker (this, 0, 0, conf.port));
+ mgmtObject->set_workerThreads (conf.workerThreads);
+ mgmtObject->set_maxConns (conf.maxConnections);
+ mgmtObject->set_connBacklog (conf.connectionBacklog);
+ mgmtObject->set_stagingThreshold (conf.stagingThreshold);
+ mgmtObject->set_storeLib (conf.store);
+ mgmtObject->set_asyncStore (conf.storeAsync);
+ mgmtObject->set_mgmtPubInterval (conf.mgmtPubInterval);
+ mgmtObject->set_initialDiskPageSize (0);
+ mgmtObject->set_initialPagesPerQueue (0);
+ mgmtObject->set_clusterName ("");
+ mgmtObject->set_version (PACKAGE_VERSION);
+
managementAgent->addObject (mgmtObject);
// Since there is currently no support for virtual hosts, a placeholder object
@@ -248,11 +261,27 @@ ManagementObject::shared_ptr Broker::GetManagementObject(void) const
return dynamic_pointer_cast<ManagementObject> (mgmtObject);
}
-Manageable::status_t Broker::ManagementMethod (uint32_t /*methodId*/,
+Manageable::status_t Broker::ManagementMethod (uint32_t methodId,
Args& /*_args*/)
{
- QPID_LOG (debug, "Broker::ManagementMethod");
- return Manageable::STATUS_OK;
+ Manageable::status_t status = Manageable::STATUS_UNKNOWN_METHOD;
+
+ QPID_LOG (debug, "Broker::ManagementMethod [id=" << methodId << "]");
+
+ switch (methodId)
+ {
+ case management::Broker::METHOD_ECHO :
+ status = Manageable::STATUS_OK;
+ break;
+
+ case management::Broker::METHOD_JOINCLUSTER :
+ case management::Broker::METHOD_LEAVECLUSTER :
+ case management::Broker::METHOD_CRASH :
+ status = Manageable::STATUS_NOT_IMPLEMENTED;
+ break;
+ }
+
+ return status;
}
}} // namespace qpid::broker