test-nap 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/python
  2. # SPDX-License-Identifier: LGPL-2.1-or-later
  3. from __future__ import absolute_import, print_function, unicode_literals
  4. from optparse import OptionParser, make_option
  5. import sys
  6. import time
  7. import dbus
  8. import bluezutils
  9. import dbus.mainloop.glib
  10. try:
  11. from gi.repository import GObject
  12. except ImportError:
  13. import gobject as GObject
  14. bus = dbus.SystemBus()
  15. option_list = [
  16. make_option("-i", "--device", action="store",
  17. type="string", dest="dev_id"),
  18. ]
  19. parser = OptionParser(option_list=option_list)
  20. (options, args) = parser.parse_args()
  21. adapter_path = bluezutils.find_adapter(options.dev_id).object_path
  22. server = dbus.Interface(bus.get_object("org.bluez", adapter_path),
  23. "org.bluez.NetworkServer1")
  24. service = "nap"
  25. if (len(args) < 1):
  26. bridge = "tether"
  27. else:
  28. bridge = args[0]
  29. dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
  30. mainloop = GObject.MainLoop()
  31. server.Register(service, bridge)
  32. print("Server for %s registered for %s" % (service, bridge))
  33. print("Press CTRL-C to disconnect")
  34. mainloop.run()