63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 | 
						|
#
 | 
						|
# This file is part of Gajim.
 | 
						|
#
 | 
						|
# Gajim is free software; you can redistribute it and/or modify
 | 
						|
# it under the terms of the GNU General Public License as published
 | 
						|
# by the Free Software Foundation; version 3 only.
 | 
						|
#
 | 
						|
# Gajim is distributed in the hope that it will be useful,
 | 
						|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
# GNU General Public License for more details.
 | 
						|
#
 | 
						|
# You should have received a copy of the GNU General Public License
 | 
						|
# along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
 | 
						|
from typing import Any  # pylint: disable=unused-import
 | 
						|
 | 
						|
from enum import IntEnum, unique
 | 
						|
 | 
						|
 | 
						|
@unique
 | 
						|
class Constant(IntEnum):
 | 
						|
    NAME = 0
 | 
						|
    DOMAIN = 1
 | 
						|
    RESOLVED_INFO = 2
 | 
						|
    BARE_NAME = 3
 | 
						|
    TXT = 4
 | 
						|
 | 
						|
@unique
 | 
						|
class ConstantRI(IntEnum):
 | 
						|
    INTERFACE = 0
 | 
						|
    PROTOCOL = 1
 | 
						|
    HOST = 2
 | 
						|
    APROTOCOL = 3
 | 
						|
    ADDRESS = 4
 | 
						|
    PORT = 5
 | 
						|
 | 
						|
def test_avahi():
 | 
						|
    try:
 | 
						|
        import dbus  # pylint: disable=unused-variable
 | 
						|
    except ImportError:
 | 
						|
        return False
 | 
						|
    return True
 | 
						|
 | 
						|
def test_bonjour():
 | 
						|
    try:
 | 
						|
        import pybonjour  # pylint: disable=unused-variable
 | 
						|
    except ImportError:
 | 
						|
        return False
 | 
						|
    except WindowsError: # pylint: disable=undefined-variable
 | 
						|
        return False
 | 
						|
    return True
 | 
						|
 | 
						|
def test_zeroconf():
 | 
						|
    return test_avahi() or test_bonjour()
 | 
						|
 | 
						|
if test_avahi():
 | 
						|
    from gajim.common.zeroconf import zeroconf_avahi
 | 
						|
    Zeroconf = zeroconf_avahi.Zeroconf  # type: Any
 | 
						|
elif test_bonjour():
 | 
						|
    from gajim.common.zeroconf import zeroconf_bonjour
 | 
						|
    Zeroconf = zeroconf_bonjour.Zeroconf
 |