##################################################################
Hal sends me the following still non-introspectable onMount Event:
##################################################################
signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/devices/volume_uuid_A070_C4A5; interface=org.freedesktop.Hal.Device; member=PropertyModified
int32 2
array [
struct {
string "volume.mount_point"
boolean false
boolean false
}
struct {
string "volume.is_mounted"
boolean false
boolean false
}
]
#######################################
I used this to hand-craft the following
#######################################
########################################
and CreateInterface transformed it into: (well, struct1 changed to Entry by me)
########################################
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;
}
}
}
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;
}
}
############################################################
with this in place, I successfully register a SignalHandler:
############################################################
// ... getting system bus first ...
conn.addSigHandler(Device.PropertyModified.class, StupidSigHandler );
############################################
and now, on every mount/umount event I get:
############################################
<= ERROR: (=> :1.0) org.freedesktop.dbus.DBusExecutionException {5,195}
=> ERROR: (org.freedesktop.DBus => :1.10) org.freedesktop.DBus.Error.AccessDenied {5,5}
(My Signal Handler is never called)