127
126
a sensible number of times
128
127
group: D-Bus Entry Group
129
128
server: D-Bus Server
129
bus: dbus.SystemBus()
131
131
def __init__(self, interface = avahi.IF_UNSPEC, name = None,
132
132
servicetype = None, port = None, TXT = None,
478
478
"""A Client class using D-Bus
481
dbus_object_path: dbus.ObjectPath ; only set if self.use_dbus
481
dbus_object_path: dbus.ObjectPath
482
bus: dbus.SystemBus()
483
484
# dbus.service.Object doesn't use super(), so we can't either.
945
946
to bind to an interface if one was specified, and also NOT to
946
947
bind to an address or port if they were not specified."""
947
948
if self.interface is not None:
949
self.socket.setsockopt(socket.SOL_SOCKET,
951
str(self.interface + u'\0'))
952
except socket.error, error:
953
if error[0] == errno.EPERM:
954
logger.error(u"No permission to"
955
u" bind to interface %s",
949
if SO_BINDTODEVICE is None:
950
logger.error(u"SO_BINDTODEVICE does not exist;"
951
u" cannot bind to interface %s",
955
self.socket.setsockopt(socket.SOL_SOCKET,
959
except socket.error, error:
960
if error[0] == errno.EPERM:
961
logger.error(u"No permission to"
962
u" bind to interface %s",
964
elif error[0] == errno.ENOPROTOOPT:
965
logger.error(u"SO_BINDTODEVICE not available;"
966
u" cannot bind to interface %s",
959
970
# Only bind(2) the socket if we really need to.
960
971
if self.server_address[0] or self.server_address[1]:
961
972
if not self.server_address[0]: