Introduction to D-BUS

Jeroen T. Vermeulen jtv at xs4all.nl
Tue Aug 29 09:39:11 PDT 2006


On Tue, August 29, 2006 22:25, Matthew Johnson wrote:

>> But this bit is all about D-Bus typing.  Does it hold true for D-Bus
>> objects/interfaces/methods?
>
> I was just pointing out that there is no reason that an object should
> not gain or lose interfaces throughout its lifetime.

Ah, OK.  That answers my question exactly--just wanted to be sure.

Can interfaces on a particular object also gain or lose methods during
their lifetimes?


> When I get a method call I lookup the object in a table. If it exists I
> look at the parameters that I have received and their types. I then
> lookup methods on that object with that name and type signature. Java
> can reflect at runtime on the type signatures of methods and dynamically
> invoke the correct one.

Understanding is dawning, I think: matching method invocations to method
implementations is also a pure binding issue, so bindings can choose to do
argument matching or not, right?

What got me off on the wrong foot here, I think, is reading (in the spec
IIRC) that D-Bus implementations were allowed to reject ambiguous method
invocations when no interface was specified.  There was no mention of
ambiguous invocations within a single interface, and I reckoned that if
the "implementation" was the daemon plus library, and they were allowed to
make method resolution its business...

Oh, while we're on this: won't there be any problems when calling a method
built on an overloading-capable binding from a program built on a
non-overloading binding?  Could the invocation succeed but return
unexpected output parameters, for instance?  Or what if signals are
overloaded?


Jeroen




More information about the dbus mailing list