diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2005-09-28 13:51:14 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2005-09-28 13:51:14 +0000 |
commit | 08e1888b60369a39f7410fc49204c0193ba294c4 (patch) | |
tree | ded4bc9612e463f70848879812f597d454455064 /cpp/src | |
parent | don't choke on missing files (diff) | |
download | ice-08e1888b60369a39f7410fc49204c0193ba294c4.tar.bz2 ice-08e1888b60369a39f7410fc49204c0193ba294c4.tar.xz ice-08e1888b60369a39f7410fc49204c0193ba294c4.zip |
Added ability to subscibe to IceStorm with bidir connection.
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IceStorm/TopicI.cpp | 7 | ||||
-rw-r--r-- | cpp/src/IceStorm/TopicI.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp index d7b1a3b98b7..f3d5992021d 100644 --- a/cpp/src/IceStorm/TopicI.cpp +++ b/cpp/src/IceStorm/TopicI.cpp @@ -446,6 +446,13 @@ TopicI::subscribe(const QoS& qos, const Ice::ObjectPrx& subscriber, const Ice::C } void +TopicI::subscribeBidir(const QoS& qos, const Ice::Identity& ident, const Ice::Current& current) +{ + Ice::ObjectPrx subscriber = current.con->createProxy(ident); + subscribe(qos, subscriber, current); +} + +void TopicI::unsubscribe(const Ice::ObjectPrx& subscriber, const Ice::Current&) { IceUtil::RecMutex::Lock sync(*this); diff --git a/cpp/src/IceStorm/TopicI.h b/cpp/src/IceStorm/TopicI.h index 83e8366271f..0e2d3b3575d 100644 --- a/cpp/src/IceStorm/TopicI.h +++ b/cpp/src/IceStorm/TopicI.h @@ -76,6 +76,7 @@ public: virtual std::string getName(const Ice::Current&) const; virtual Ice::ObjectPrx getPublisher(const Ice::Current&) const; virtual void subscribe(const QoS&, const Ice::ObjectPrx&, const Ice::Current&); + virtual void subscribeBidir(const QoS&, const Ice::Identity&, const Ice::Current&); virtual void unsubscribe(const Ice::ObjectPrx&, const Ice::Current&); virtual void destroy(const Ice::Current&); virtual void link(const TopicPrx&, Ice::Int, const Ice::Current&); |