TopicDict TopicManagerImpl::retrieveAll() const { Lock sync(*this); TopicManagerImpl* This = const_cast<TopicManagerImpl*>(this); This->reap(); TopicDict all; for(map<string, TopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end(); ++p) { all.insert(TopicDict::value_type(p->first, p->second->proxy())); } return all; }
TopicDict TransientTopicManagerImpl::retrieveAll(const Ice::Current&) const { Lock sync(*this); TransientTopicManagerImpl* This = const_cast<TransientTopicManagerImpl*>(this); This->reap(); TopicDict all; for(map<string, TransientTopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end(); ++p) { // // Here we cannot just reconstruct the identity since the // identity could be either "<instanceName>/topic.<topicname>" // name, or if created with pre-3.2 IceStorm "/<topicname>". // all.insert(TopicDict::value_type( p->first, TopicPrx::uncheckedCast(_instance->topicAdapter()->createProxy(p->second->id())))); } return all; }