Exemplo n.º 1
0
 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)            
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
        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())
Exemplo n.º 4
0
    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())