13 #include <Ice/SliceChecksums.h>
39 if (_topics.find(name) != _topics.end())
52 if (traceLevels->topicMgr > 0)
54 Ice::Trace out(traceLevels->logger, traceLevels->topicMgrCat);
55 out <<
"creating new topic \"" << name
56 <<
"\". id: " << _instance->communicator()->identityToString(
id);
67 TopicPrx prx = TopicPrx::uncheckedCast(_instance->topicAdapter()->add(topicImpl,
id));
68 _topics.insert(map<string, TransientTopicImplPtr>::value_type(name, topicImpl));
80 map<string, TransientTopicImplPtr>::const_iterator p = _topics.find(name);
81 if (p == _topics.end())
91 return TopicPrx::uncheckedCast(_instance->topicAdapter()->createProxy(p->second->id()));
103 for (map<string, TransientTopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end();
111 all.insert(TopicDict::value_type(
113 TopicPrx::uncheckedCast(_instance->topicAdapter()->createProxy(p->second->id()))));
119 Ice::SliceChecksumDict
122 return Ice::sliceChecksums();
139 vector<string> reaped = _instance->topicReaper()->consumeReapedTopics();
140 for (vector<string>::const_iterator p = reaped.begin(); p != reaped.end(); ++p)
142 map<string, TransientTopicImplPtr>::iterator i = _topics.find(*p);
143 if (i != _topics.end() && i->second->destroyed())
147 if (traceLevels->topicMgr > 0)
149 Ice::Trace out(traceLevels->logger, traceLevels->topicMgrCat);
150 out <<
"Reaping " << i->first;
155 _instance->topicAdapter()->remove(
id);
157 catch (
const Ice::ObjectAdapterDeactivatedException&)
172 for (map<string, TransientTopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end();
175 p->second->shutdown();