summaryrefslogtreecommitdiff
path: root/cpp/src/IceStorm/TopicI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceStorm/TopicI.cpp')
-rw-r--r--cpp/src/IceStorm/TopicI.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp
index 14d3de40010..c6742b81dc9 100644
--- a/cpp/src/IceStorm/TopicI.cpp
+++ b/cpp/src/IceStorm/TopicI.cpp
@@ -11,7 +11,6 @@
#include <IceStorm/Instance.h>
#include <IceStorm/Subscriber.h>
#include <IceStorm/TraceLevels.h>
-#include <IceStorm/Event.h>
#include <IceStorm/SubscriberPool.h>
#include <Ice/LoggerUtil.h>
@@ -44,7 +43,7 @@ public:
Ice::ByteSeq&,
const Ice::Current& current)
{
- EventPtr event = new Event(
+ EventDataPtr event = new EventData(
current.operation,
current.mode,
Ice::ByteSeq(),
@@ -57,7 +56,7 @@ public:
Ice::ByteSeq data(inParams.first, inParams.second);
event->data.swap(data);
- EventSeq v;
+ EventDataSeq v;
v.push_back(event);
_topic->publish(false, v);
@@ -85,13 +84,7 @@ public:
virtual void
forward(const EventDataSeq& v, const Ice::Current& current)
{
- EventSeq events;
- events.reserve(v.size());
- for(EventDataSeq::const_iterator p = v.begin(); p != v.end(); ++p)
- {
- events.push_back(new Event(p->op, p->mode, p->data, p->context));
- }
- _topic->publish(true, events);
+ _topic->publish(true, v);
}
private:
@@ -154,6 +147,10 @@ TopicI::TopicI(
}
}
+TopicI::~TopicI()
+{
+}
+
string
TopicI::getName(const Ice::Current&) const
{
@@ -492,7 +489,7 @@ TopicI::reap()
}
void
-TopicI::publish(bool forwarded, const EventSeq& events)
+TopicI::publish(bool forwarded, const EventDataSeq& events)
{
//
// Copy of the subscriber list so that event publishing can occur