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