Has the interface <none>
in the gdbus-monitor
output a special meaning?
What API call is required to create such a message using GDbus
(g_dbus_connection_register_object
does not allow to pass NULL
as GDBusInterfaceInfo *
and that seems to be the only to register a object to a path)
Looking into
dbus-monitor
's source code shows that it occures as soon asDBUS_EXPORT const char * dbus_message_get_interface ( DBusMessage * message )
returnsNULL
(which is valid!, but not according to the spec which requires minimum one.
and two name chunks!! EDIT: A noteable exception are method calls which do not require the interface field of a message to be set http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-types).g_dbus_message_new_method_call (...)
allowsinterface_
to be null. But that still only solves half the problems (sender). The receiver method seems to not exist forinterface_
s beingNULL
.Turns out it is a bug, I did a source code investigation and filed a bug (including fix) https://bugzilla.gnome.org/show_bug.cgi?id=706675
client needs to know the interface name while subscribing g_dbus_connection_signal_subscribe to any signal else it will listen to all interfaces hence inefficient. Interface is required to bind methods and signals in single entity mentioned in server introspection xml file.