#!/usr/bin/python # SPDX-License-Identifier: LGPL-2.1-or-later from __future__ import absolute_import, print_function, unicode_literals from optparse import OptionParser, make_option import sys import time import dbus import bluezutils import dbus.mainloop.glib try: from gi.repository import GObject except ImportError: import gobject as GObject bus = dbus.SystemBus() option_list = [ make_option("-i", "--device", action="store", type="string", dest="dev_id"), ] parser = OptionParser(option_list=option_list) (options, args) = parser.parse_args() adapter_path = bluezutils.find_adapter(options.dev_id).object_path server = dbus.Interface(bus.get_object("org.bluez", adapter_path), "org.bluez.NetworkServer1") service = "nap" if (len(args) < 1): bridge = "tether" else: bridge = args[0] dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) mainloop = GObject.MainLoop() server.Register(service, bridge) print("Server for %s registered for %s" % (service, bridge)) print("Press CTRL-C to disconnect") mainloop.run()