18 #include <Ice/SliceChecksums.h>
41 if (_topics.find(name) != _topics.end())
54 if (traceLevels->topicMgr > 0)
56 Ice::Trace out(traceLevels->logger, traceLevels->topicMgrCat);
57 out <<
"creating new topic \"" << name <<
"\". id: "
58 << _instance->communicator()->identityToString(
id);
69 TopicPrx prx = TopicPrx::uncheckedCast(_instance->topicAdapter()->add(topicImpl,
id));
70 _topics.insert(map<string, TransientTopicImplPtr>::value_type(name, topicImpl));
82 map<string, TransientTopicImplPtr>::const_iterator p = _topics.find(name);
83 if (p == _topics.end())
93 return TopicPrx::uncheckedCast(_instance->topicAdapter()->createProxy(p->second->id()));
105 for (map<string, TransientTopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end(); ++p)
112 all.insert(TopicDict::value_type(
113 p->first, TopicPrx::uncheckedCast(_instance->topicAdapter()->createProxy(p->second->id()))));
118 Ice::SliceChecksumDict
121 return Ice::sliceChecksums();
138 vector<string> reaped = _instance->topicReaper()->consumeReapedTopics();
139 for (vector<string>::const_iterator p = reaped.begin(); p != reaped.end(); ++p)
141 map<string, TransientTopicImplPtr>::iterator i = _topics.find(*p);
142 if (i != _topics.end() && i->second->destroyed())
146 if (traceLevels->topicMgr > 0)
148 Ice::Trace out(traceLevels->logger, traceLevels->topicMgrCat);
149 out <<
"Reaping " << i->first;
154 _instance->topicAdapter()->remove(
id);
156 catch (
const Ice::ObjectAdapterDeactivatedException&)
171 for (map<string, TransientTopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end(); ++p)
173 p->second->shutdown();