summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Topics.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-04-05 12:54:15 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-04-05 12:54:15 +0000
commit872fd9e5dfb743a648c64bf774f6c9a76a45b651 (patch)
treec071c5dc5bd1177c0913e82cb8a3233f0da50ea6 /cpp/src/IceGrid/Topics.h
parentadding timeout test (diff)
downloadice-872fd9e5dfb743a648c64bf774f6c9a76a45b651.tar.bz2
ice-872fd9e5dfb743a648c64bf774f6c9a76a45b651.tar.xz
ice-872fd9e5dfb743a648c64bf774f6c9a76a45b651.zip
- Added support for observing adapters and objects.
- Lots of cleanup in the IceGrid registry initilization method.
Diffstat (limited to 'cpp/src/IceGrid/Topics.h')
-rw-r--r--cpp/src/IceGrid/Topics.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/cpp/src/IceGrid/Topics.h b/cpp/src/IceGrid/Topics.h
index 300000006eb..385ca475be3 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::TopicPrx&, const NodeObserverPrx&);
+ NodeObserverTopic(const IceStorm::TopicManagerPrx&);
virtual void init(const NodeDynamicInfoSeq&, const Ice::Current&);
virtual void nodeUp(const NodeDynamicInfo&, const Ice::Current&);
@@ -50,13 +50,22 @@ class RegistryObserverTopic : public RegistryObserver, public IceUtil::Monitor<I
{
public:
- RegistryObserverTopic(const IceStorm::TopicPrx&, const RegistryObserverPrx&, NodeObserverTopic&);
- virtual void init(int, const ApplicationDescriptorSeq&, const Ice::Current&);
+ RegistryObserverTopic(const IceStorm::TopicManagerPrx&);
+ virtual void init(int, const ApplicationDescriptorSeq&, const AdapterInfoSeq&, const ObjectInfoSeq&,
+ const Ice::Current&);
virtual void applicationAdded(int, const ApplicationDescriptor&, const Ice::Current&);
virtual void applicationRemoved(int, const std::string&, const Ice::Current&);
virtual void applicationUpdated(int, const ApplicationUpdateDescriptor&, const Ice::Current&);
+ virtual void adapterAdded(int, const AdapterInfo&, const Ice::Current&);
+ virtual void adapterUpdated(int, const AdapterInfo&, const Ice::Current&);
+ virtual void adapterRemoved(int, const std::string&, const Ice::Current&);
+
+ virtual void objectAdded(int, const ObjectInfo&, const Ice::Current&);
+ virtual void objectUpdated(int, const ObjectInfo&, const Ice::Current&);
+ virtual void objectRemoved(int, const Ice::Identity&, const Ice::Current&);
+
void subscribe(const RegistryObserverPrx&, int = -1);
void unsubscribe(const RegistryObserverPrx&);
@@ -66,10 +75,11 @@ private:
const IceStorm::TopicPrx _topic;
const RegistryObserverPrx _publisher;
- NodeObserverTopic& _nodeObserver;
int _serial;
- ApplicationDescriptorSeq _applications;
+ std::map<std::string, ApplicationDescriptor> _applications;
+ std::map<std::string, AdapterInfo> _adapters;
+ std::map<Ice::Identity, ObjectInfo> _objects;
};
typedef IceUtil::Handle<RegistryObserverTopic> RegistryObserverTopicPtr;