#!/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() adapter = dbus.Interface(bus.get_object("org.bluez", path), "org.bluez.Adapter") handle = adapter.AddServiceRecord(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 adapter.RemoveServiceRecord(dbus.UInt32(handle))