def usable_service(self):
services = self._services<EOL>for protocol in self._supported_protocols:<EOL><INDENT>if protocol in services and services[protocol].is_usable():<EOL><INDENT>return services[protocol]<EOL><DEDENT><DEDENT>return None<EOL>
Return a usable service or None if there is none.

        A service is usable if enough configuration to be able to make a
        connection is available. If several protocols are usable, MRP will be
        preferred over DMAP.