Re: gdbus function call on interface NULL does not work



On 27/08/13 14:43, Colin Walters wrote:
On Tue, 2013-08-27 at 11:01 +0100, Simon McVittie wrote:

but that doesn't seem very well thought-out, and I'd be tempted to
delete it from the spec.

I think the idea with this, though of course Havoc would know better,
was to enable dbus-python users to just do dbus.Object() without
dbus.Interface().

That might have been the reason, although it has to be said that
dbus-python isn't actually particularly Pythonic ("explicit is better
than implicit" and "refuse the temptation to guess", after all).

Thiago suggested on https://bugs.freedesktop.org/show_bug.cgi?id=68597
that it might also have been carried over from DCOP (which had
interfaces, but they were optional and in practice never used).

Although maybe that was before introspection was added and dbus-python
parsed it; nowadays it could block on receiving the introspection and
pick from that on the client side which interface to use.

The fact that dbus-python parses introspection continues to annoy me: it
violates "don't be remotely-crashable", which is one of my design rules
for D-Bus. (If the service changes its types, you get some sort of
strange TypeError, or even silent misinterpretation of the result,
rather than a D-Bus error that you need to be prepared to handle anyway.)

    S



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]