blob: ad320b1b89b13475e0c70b725aba35f1119b1614 [file] [log] [blame]
#!/usr/bin/python
from __future__ import absolute_import, print_function, unicode_literals
from optparse import OptionParser, make_option
import os
import sys
import uuid
import dbus
import dbus.service
import dbus.mainloop.glib
try:
from gi.repository import GObject
except ImportError:
import gobject as GObject
import bluezutils
class GattProfile(dbus.service.Object):
@dbus.service.method("org.bluez.GattProfile1",
in_signature="", out_signature="")
def Release(self):
print("Release")
mainloop.quit()
if __name__ == '__main__':
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
path = bluezutils.find_adapter().object_path
manager = dbus.Interface(bus.get_object("org.bluez", path),
"org.bluez.GattManager1")
option_list = [
make_option("-u", "--uuid", action="store",
type="string", dest="uuid",
default=None),
make_option("-p", "--path", action="store",
type="string", dest="path",
default="/foo/bar/profile"),
]
opts = dbus.Dictionary({ }, signature='sv')
parser = OptionParser(option_list=option_list)
(options, args) = parser.parse_args()
profile = GattProfile(bus, options.path)
mainloop = GObject.MainLoop()
if not options.uuid:
options.uuid = str(uuid.uuid4())
uuids = { options.uuid }
manager.RegisterProfile(options.path, uuids, opts)
mainloop.run()