summaryrefslogtreecommitdiff
path: root/cpp/examples/qmf-agent/example.cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-09-03 18:01:44 +0000
committerTed Ross <tross@apache.org>2008-09-03 18:01:44 +0000
commit13191e7951b29453c75db8384391d26f0402139d (patch)
treeb3ca5bd5f9c8523924cf9d1a0fe118099bef9894 /cpp/examples/qmf-agent/example.cpp
parentb8cf7ea1034fa6216183f03022c83efdb154f3ee (diff)
downloadqpid-python-13191e7951b29453c75db8384391d26f0402139d.tar.gz
QPID-1174 Updates to the management framework
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@691700 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/examples/qmf-agent/example.cpp')
-rw-r--r--cpp/examples/qmf-agent/example.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/cpp/examples/qmf-agent/example.cpp b/cpp/examples/qmf-agent/example.cpp
index 35ea97d4c0..c8d63a62b9 100644
--- a/cpp/examples/qmf-agent/example.cpp
+++ b/cpp/examples/qmf-agent/example.cpp
@@ -89,9 +89,10 @@ public:
CoreClass::CoreClass(ManagementAgent* _agent, string _name) : name(_name), agent(_agent)
{
+ static uint64_t persistId = 0x111222333444555LL;
mgmtObject = new Parent(agent, this, name);
- agent->addObject(mgmtObject);
+ agent->addObject(mgmtObject, persistId++);
mgmtObject->set_state("IDLE");
}
@@ -128,6 +129,8 @@ Manageable::status_t CoreClass::ManagementMethod(uint32_t methodId, Args& args)
children.push_back(child);
+ mgmtObject->event_childCreated(ioArgs.i_name);
+
return STATUS_OK;
}
@@ -145,7 +148,8 @@ ChildClass::ChildClass(ManagementAgent* agent, CoreClass* parent, string name)
//==============================================================
// Main program
//==============================================================
-int main(int argc, char** argv) {
+int main_int(int argc, char** argv)
+{
ManagementAgent::Singleton singleton;
const char* host = argc>1 ? argv[1] : "127.0.0.1";
int port = argc>2 ? atoi(argv[2]) : 5672;
@@ -158,7 +162,7 @@ int main(int argc, char** argv) {
// Start the agent. It will attempt to make a connection to the
// management broker
- agent->init(string(host), port);
+ agent->init(string(host), port, 5, false, ".magentdata");
// Allocate some core objects
CoreClass core1(agent, "Example Core Object #1");
@@ -168,4 +172,12 @@ int main(int argc, char** argv) {
core1.doLoop();
}
+int main(int argc, char** argv)
+{
+ try {
+ return main_int(argc, argv);
+ } catch(std::exception& e) {
+ cout << "Top Level Exception: " << e.what() << endl;
+ }
+}