# This file is part of avahi. # # avahi is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # avahi 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 Lesser General Public # License along with avahi; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. # Some definitions matching those in avahi-common/defs.h import dbus SERVER_INVALID, SERVER_REGISTERING, SERVER_RUNNING, SERVER_COLLISION, SERVER_FAILURE = range(0, 5) ENTRY_GROUP_UNCOMMITED, ENTRY_GROUP_REGISTERING, ENTRY_GROUP_ESTABLISHED, ENTRY_GROUP_COLLISION, ENTRY_GROUP_FAILURE = range(0, 5) DOMAIN_BROWSER_BROWSE, DOMAIN_BROWSER_BROWSE_DEFAULT, DOMAIN_BROWSER_REGISTER, DOMAIN_BROWSER_REGISTER_DEFAULT, DOMAIN_BROWSER_BROWSE_LEGACY = range(0, 5) PROTO_UNSPEC, PROTO_INET, PROTO_INET6 = -1, 0, 1 IF_UNSPEC = -1 PUBLISH_UNIQUE = 1 PUBLISH_NO_PROBE = 2 PUBLISH_NO_ANNOUNCE = 4 PUBLISH_ALLOW_MULTIPLE = 8 PUBLISH_NO_REVERSE = 16 PUBLISH_NO_COOKIE = 32 PUBLISH_UPDATE = 64 PUBLISH_USE_WIDE_AREA = 128 PUBLISH_USE_MULTICAST = 256 LOOKUP_USE_WIDE_AREA = 1 LOOKUP_USE_MULTICAST = 2 LOOKUP_NO_TXT = 4 LOOKUP_NO_ADDRESS = 8 LOOKUP_RESULT_CACHED = 1 LOOKUP_RESULT_WIDE_AREA = 2 LOOKUP_RESULT_MULTICAST = 4 LOOKUP_RESULT_LOCAL = 8 LOOKUP_RESULT_OUR_OWN = 16 LOOKUP_RESULT_STATIC = 32 SERVICE_COOKIE = "org.freedesktop.Avahi.cookie" SERVICE_COOKIE_INVALID = 0 DBUS_NAME = "org.freedesktop.Avahi" DBUS_INTERFACE_SERVER = DBUS_NAME + ".Server" DBUS_PATH_SERVER = "/" DBUS_INTERFACE_ENTRY_GROUP = DBUS_NAME + ".EntryGroup" DBUS_INTERFACE_DOMAIN_BROWSER = DBUS_NAME + ".DomainBrowser" DBUS_INTERFACE_SERVICE_TYPE_BROWSER = DBUS_NAME + ".ServiceTypeBrowser" DBUS_INTERFACE_SERVICE_BROWSER = DBUS_NAME + ".ServiceBrowser" DBUS_INTERFACE_ADDRESS_RESOLVER = DBUS_NAME + ".AddressResolver" DBUS_INTERFACE_HOST_NAME_RESOLVER = DBUS_NAME + ".HostNameResolver" DBUS_INTERFACE_SERVICE_RESOLVER = DBUS_NAME + ".ServiceResolver" DBUS_INTERFACE_RECORD_BROWSER = DBUS_NAME + ".RecordBrowser" def byte_array_to_string(s): r = "" for c in s: if c >= 32 and c < 127: r += "%c" % c else: r += "." return r def txt_array_to_string_array(t): l = [] for s in t: l.append(byte_array_to_string(s)) return l def string_to_byte_array(s): r = [] for c in s: r.append(dbus.Byte(ord(c))) return r def string_array_to_txt_array(t): l = [] for s in t: l.append(string_to_byte_array(s)) return l def dict_to_txt_array(txt_dict): l = [] for k,v in txt_dict.items(): l.append(string_to_byte_array("%s=%s" % (k,v))) return l