Skip to content

Interface name mapping disappeared #186

Closed
@gsavin

Description

@gsavin

Hi,

I was using the 3.2.4 version, and tried to switch to 3.3.1.
I have a Java interface modeling a D-Bus interface, but there is a difference between package's name, so I am specifying the D-Bus name inside the @DBusInterface value. Something like :

package a.b.c;

@DBusInterface("d.e.f.XXX")
public interface YYY {
...
}

In 3.2.4 this was working fine. If I understood correctly, there was a call to DBusSignal#addInterfaceMap which was adding the mapping. And this was used when creating the signal class in DBusSignal#createSignalClass method. But the call to addInterfaceMap seems to have disappeared in 3.3.1, so the library is trying load the class using the DBus name:

2022-09-08 09:10:42,772 [DBus Worker Thread-3] WARN  o.f.d.c.impl.DBusConnection - Exception while running signal handler 'DBusTestCase$SignalChecker@3ef91466' for signal 'DBusSignal(0,16) { Path=>/d/e/f/xxx/1, Interface=>d.e.f.XXX, Member=>custom_signal, Sender=>:1.1, Signature=>s } { / }':
org.freedesktop.dbus.exceptions.DBusException: Could not create class from signal d.e.f.XXX.CustomSignal
	at org.freedesktop.dbus.messages.DBusSignal.createSignalClass(DBusSignal.java:165)
	at org.freedesktop.dbus.messages.DBusSignal.createReal(DBusSignal.java:181)
	at org.freedesktop.dbus.connections.AbstractConnection$3.run(AbstractConnection.java:911)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)

Is it a regression, or is there something new I need to do?

Thanks a lot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions