diff options
Diffstat (limited to 'cpp/src/IceStorm/TopicI.cpp')
-rw-r--r-- | cpp/src/IceStorm/TopicI.cpp | 19 |
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 |