interface. This is mainly to ensure that malformed data received from the other peer is ignored. The given #GDBusInterfaceInfo is said to be the "expected interface".
The checks performed are:
- When completing a method call, if the type signature of the reply message isn't what's expected, the reply is discarded and the #GError is set to gio.types.IOErrorEnum.InvalidArgument.
- Received signals that have a type signature mismatch are dropped and a warning is logged via g_warning().
- Properties received via the initial
GetAll()call or via the::PropertiesChangedsignal (on the org.freedesktop.DBus.Properties interface) or set using gio.dbus_proxy.DBusProxy.setCachedProperty with a type signature mismatch are ignored and a warning is logged via g_warning().
Note that these checks are never done on methods, signals and properties that are not referenced in the given #GDBusInterfaceInfo, since extending a D-Bus interface on the service-side is not considered an ABI break.