Hi,
I am currently trying to connect to a signal on UDisks2 to be notified whenever the user plugs a USB drive on the system, but my method never gets called.
Here is my code :
import ddbus;
import ddbus.c_lib;
import std.stdio;
final class UsbDevice
{
void onInterfacesAdded(ObjectPath path, Variant!DBusAny[string][string] params)
{
writeln("Interfaces added");
}
}
void main()
{
auto conn = connectToBus(DBusBusType.DBUS_BUS_SYSTEM);
auto router = new MessageRouter();
auto dev = new UsbDevice();
MessagePattern ifaceAdded = MessagePattern(
ObjectPath("/org/freedesktop/UDisks2"), interfaceName("org.freedesktop.DBus.ObjectManager"),
"InterfacesAdded",
true);
router.setHandler(ifaceAdded, &dev.onInterfacesAdded);
registerRouter(conn, router);
simpleMainLoop(conn);
}
What am I doing wrong ?
Thanks in advance,
Ol