summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp
diff options
context:
space:
mode:
authorKenneth Anthony Giusti <kgiusti@apache.org>2010-04-23 20:27:27 +0000
committerKenneth Anthony Giusti <kgiusti@apache.org>2010-04-23 20:27:27 +0000
commit944b2eb07f51118a37bacf3124dc19c0b7d85ca8 (patch)
tree5ac8c02fdb578f93e8e73d01c1e42eb56e202ac4 /qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp
parent5e4a9f8dd51364ef4479c0c94d339b8dade93640 (diff)
downloadqpid-python-944b2eb07f51118a37bacf3124dc19c0b7d85ca8.tar.gz
QPID-2546: implement event support for ruby wrapper. Python pending...
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@937506 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp')
-rw-r--r--qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp b/qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp
index 2d955b0c26..b99cb414dc 100644
--- a/qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp
+++ b/qpid/cpp/src/qmf/engine/BrokerProxyImpl.cpp
@@ -445,9 +445,19 @@ void BrokerProxyImpl::handleHeartbeatIndication(Buffer& inBuffer, uint32_t seq,
QPID_LOG(trace, "RCVD HeartbeatIndication seq=" << seq << " agentBank=" << agentBank);
}
-void BrokerProxyImpl::handleEventIndication(Buffer& /*inBuffer*/, uint32_t /*seq*/)
+void BrokerProxyImpl::handleEventIndication(Buffer& inBuffer, uint32_t seq)
{
- // TODO
+ auto_ptr<SchemaClassKey> classKey(SchemaClassKeyImpl::factory(inBuffer));
+ const SchemaEventClass *schema = console.impl->getEventClass(classKey.get());
+ if (schema == 0) {
+ QPID_LOG(trace, "No Schema Found for EventIndication. seq=" << seq << " key=" << classKey->impl->str());
+ return;
+ }
+
+ EventPtr eptr(EventImpl::factory(schema, inBuffer));
+
+ console.impl->eventEventReceived(eptr);
+ QPID_LOG(trace, "RCVD EventIndication seq=" << seq << " key=" << classKey->impl->str());
}
void BrokerProxyImpl::handleSchemaResponse(Buffer& inBuffer, uint32_t seq)