def test_get_set_service_manager(self): from rospy.impl.registration import get_service_manager, set_service_manager # rospy initialization sets this, but it is out of scope of # rospy.impl.registrations to test its value try: orig = get_service_manager() self.assert_(orig is not None) class ServiceManager(object): pass x = ServiceManager() # currently untyped set_service_manager(x) self.assertEquals(x, get_service_manager()) set_service_manager(None) self.assert_(get_service_manager() is None) finally: set_service_manager(orig)
if err: raise ServiceException(err) def unregister(self, resolved_service_name, service): """ Unregister service with L{ServiceManager} and ROS Master @param resolved_service_name: name of service @type resolved_service_name: str @param service: service implementation @type service: L{_Service} """ with self.lock: curr = self.map.get(resolved_service_name, None) if curr == service: del self.map[resolved_service_name] # NOTE: this call can potentially take a long time under lock self.registration_listeners.notify_removed(resolved_service_name, service.uri, Registration.SRV) def get_service(self, resolved_service_name): """ @param resolved_service_name: name of service @type resolved_service_name: str @return: service implementation @rtype: _Service """ return self.map.get(resolved_service_name, None) set_service_manager(ServiceManager())
def unregister(self, resolved_service_name, service): """ Unregister service with L{ServiceManager} and ROS Master @param resolved_service_name: name of service @type resolved_service_name: str @param service: service implementation @type service: L{_Service} """ with self.lock: curr = self.map.get(resolved_service_name, None) if curr == service: del self.map[resolved_service_name] # NOTE: this call can potentially take a long time under lock self.registration_listeners.notify_removed(resolved_service_name, service.uri, Registration.SRV) def get_service(self, resolved_service_name): """ @param resolved_service_name: name of service @type resolved_service_name: str @return: service implementation @rtype: _Service """ return self.map.get(resolved_service_name, None) set_service_manager(ServiceManager())