| #!/usr/bin/python |
| |
| import sys |
| import time |
| import dbus |
| |
| xml = ' \ |
| <?xml version="1.0" encoding="UTF-8" ?> \ |
| <record> \ |
| <attribute id="0x0001"> \ |
| <sequence> \ |
| <uuid value="0x1101"/> \ |
| </sequence> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0002"> \ |
| <uint32 value="0"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0003"> \ |
| <uuid value="00001101-0000-1000-8000-00805f9b34fb"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0004"> \ |
| <sequence> \ |
| <sequence> \ |
| <uuid value="0x0100"/> \ |
| </sequence> \ |
| <sequence> \ |
| <uuid value="0x0003"/> \ |
| <uint8 value="23"/> \ |
| </sequence> \ |
| </sequence> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0005"> \ |
| <sequence> \ |
| <uuid value="0x1002"/> \ |
| </sequence> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0006"> \ |
| <sequence> \ |
| <uint16 value="0x656e"/> \ |
| <uint16 value="0x006a"/> \ |
| <uint16 value="0x0100"/> \ |
| </sequence> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0007"> \ |
| <uint32 value="0"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0008"> \ |
| <uint8 value="0xff"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0009"> \ |
| <sequence> \ |
| <sequence> \ |
| <uuid value="0x1101"/> \ |
| <uint16 value="0x0100"/> \ |
| </sequence> \ |
| </sequence> \ |
| </attribute> \ |
| \ |
| <attribute id="0x000a"> \ |
| <url value="http://www.bluez.org/"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x000b"> \ |
| <url value="http://www.bluez.org/"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x000c"> \ |
| <url value="http://www.bluez.org/"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0100"> \ |
| <text value="Serial Port"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0101"> \ |
| <text value="Serial Port Service"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0102"> \ |
| <text value="BlueZ"/> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0200"> \ |
| <sequence> \ |
| <uint16 value="0x0100"/> \ |
| </sequence> \ |
| </attribute> \ |
| \ |
| <attribute id="0x0201"> \ |
| <uint32 value="0"/> \ |
| </attribute> \ |
| </record> \ |
| ' |
| |
| bus = dbus.SystemBus() |
| manager = dbus.Interface(bus.get_object("org.bluez", "/"), |
| "org.bluez.Manager") |
| |
| if len(sys.argv) > 1: |
| path = manager.FindAdapter(sys.argv[1]) |
| else: |
| path = manager.DefaultAdapter() |
| |
| service = dbus.Interface(bus.get_object("org.bluez", path), |
| "org.bluez.Service") |
| |
| handle = service.AddRecord(xml) |
| |
| print "Service record with handle 0x%04x added" % (handle) |
| |
| print "Press CTRL-C to remove service record" |
| |
| try: |
| time.sleep(1000) |
| print "Terminating session" |
| except: |
| pass |
| |
| service.RemoveRecord(dbus.UInt32(handle)) |