| #!/usr/bin/python | |
| 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() |