##### "Main": ##### (package javadbus) conn = null; conn = DBusConnection.getConnection(DBusConnection.SYSTEM); if (conn==null) { System.out.println("jdbus: getConnection returned null!"); throw new Exception("No Connection to DBus"); } System.out.println("jdbus: got Connection"); System.out.println("jdbus: trying to addSigHandler..."); HalSigHandler halSigHandler = new HalSigHandler(); conn.addSigHandler(Device.PropertyModified.class, halSigHandler ); ########### HalSigHandler ############ package javadbus; public class HalSigHandler implements DBusSigHandler { public void handle(DBusSignal signal) { System.out.println("Hal Universal Signal Handler called! "); System.out.println(signal.toString()); } } ########### Hal.Device ############ package org.freedesktop.Hal; public interface Device extends DBusInterface { public static class PropertyModified extends DBusSignal { public final int len; public final List properties; public PropertyModified(String path, int len, List properties) throws DBusException { super(path, len, properties); this.len = len; this.properties = properties; } } } ############ Entry ################# package org.freedesktop.Hal; import org.freedesktop.dbus.Position; public final class Entry extends Struct { @Position(0) public final String a; @Position(1) public final boolean b; @Position(2) public final boolean c; public Entry(String a, boolean b, boolean c) { this.a = a; this.b = b; this.c = c; } }