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

Reply via email to