def test_get_set_topic_manager(self): from rospy.impl.registration import get_topic_manager, set_topic_manager # rospy initialization sets this, but it is out of scope of # rospy.impl.registrations to test its value orig = get_topic_manager() try: self.assert_(orig is not None) class TopicManager(object): pass x = TopicManager() # currently untyped set_topic_manager(x) self.assertEquals(x, get_topic_manager()) set_topic_manager(None) self.assert_(get_topic_manager() is None) finally: set_topic_manager(orig)
def has_publication(self, resolved_name): """ @param resolved_name: resolved topic name @type resolved_name: str @return: True if manager has publication for specified topic @rtype: bool """ return resolved_name in self.pubs def get_topics(self): """ @return: list of topic names this node subscribes to/publishes @rtype: [str] """ return self.topics def _get_list(self, rmap): return [[k, v.type] for k, v in rmap.items()] ## @return [[str,str],]: list of topics subscribed to by this node, [ [topic1, topicType1]...[topicN, topicTypeN]] def get_subscriptions(self): return self._get_list(self.subs) ## @return [[str,str],]: list of topics published by this node, [ [topic1, topicType1]...[topicN, topicTypeN]] def get_publications(self): return self._get_list(self.pubs) set_topic_manager(_TopicManager())