summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Topics.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-07-21 14:30:52 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-07-21 14:30:52 +0000
commit2379dcbd554ab5c1aac616b5585c99e3d742305e (patch)
treeb674e53966fba682aa1008855a26721bd910e023 /cpp/src/IceGrid/Topics.h
parentOptimized context to avoid copies (diff)
downloadice-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.h8
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;