diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-07-21 14:30:52 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-07-21 14:30:52 +0000 |
commit | 2379dcbd554ab5c1aac616b5585c99e3d742305e (patch) | |
tree | b674e53966fba682aa1008855a26721bd910e023 /cpp/src/IceGrid/Topics.h | |
parent | Optimized context to avoid copies (diff) | |
download | ice-2379dcbd554ab5c1aac616b5585c99e3d742305e.tar.bz2 ice-2379dcbd554ab5c1aac616b5585c99e3d742305e.tar.xz ice-2379dcbd554ab5c1aac616b5585c99e3d742305e.zip |
Initial implementation of the IceGrid registry replication.
Diffstat (limited to 'cpp/src/IceGrid/Topics.h')
-rw-r--r-- | cpp/src/IceGrid/Topics.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/Topics.h b/cpp/src/IceGrid/Topics.h index 385ca475be3..2101fa41c4a 100644 --- a/cpp/src/IceGrid/Topics.h +++ b/cpp/src/IceGrid/Topics.h @@ -23,7 +23,7 @@ class NodeObserverTopic : public NodeObserver, public IceUtil::Mutex { public: - NodeObserverTopic(const IceStorm::TopicManagerPrx&); + NodeObserverTopic(const Ice::ObjectAdapterPtr&, const IceStorm::TopicManagerPrx&); virtual void init(const NodeDynamicInfoSeq&, const Ice::Current&); virtual void nodeUp(const NodeDynamicInfo&, const Ice::Current&); @@ -33,12 +33,14 @@ public: void subscribe(const NodeObserverPrx&, int serial = -1); void unsubscribe(const NodeObserverPrx&); + const NodeObserverPrx& getPublisher() { return _publisher; } void removeNode(const std::string&); private: const IceStorm::TopicPrx _topic; + const NodeObserverPrx _internalPublisher; const NodeObserverPrx _publisher; int _serial; @@ -50,7 +52,7 @@ class RegistryObserverTopic : public RegistryObserver, public IceUtil::Monitor<I { public: - RegistryObserverTopic(const IceStorm::TopicManagerPrx&); + RegistryObserverTopic(const Ice::ObjectAdapterPtr&, const IceStorm::TopicManagerPrx&); virtual void init(int, const ApplicationDescriptorSeq&, const AdapterInfoSeq&, const ObjectInfoSeq&, const Ice::Current&); @@ -68,12 +70,14 @@ public: void subscribe(const RegistryObserverPrx&, int = -1); void unsubscribe(const RegistryObserverPrx&); + const RegistryObserverPrx& getPublisher() { return _publisher; } private: void updateSerial(int); const IceStorm::TopicPrx _topic; + const RegistryObserverPrx _internalPublisher; const RegistryObserverPrx _publisher; int _serial; |