import dbus, gtk

def dev_added(udi, *args):
    print "dev_added:", uri, args

def dev_removed(udi, *args):
    print "dev_removed:", uri, args

bus = dbus.SystemBus()
hal_manager_obj = bus.get_object("org.freedesktop.Hal",
                                           "/org/freedesktop/Hal/Manager")
hal_manager = dbus.Interface(hal_manager_obj,
                                  "org.freedesktop.Hal.Manager")

# gdl_changed will be invoked when the Global Device List is changed
# per the hal spec
hal_manager.connect_to_signal("DeviceAdded", dev_added)
hal_manager.connect_to_signal("DeviceRemoved", dev_removed)

gtk.main()
