Hal spec and PropertyModifed
hp at redhat.com
Fri Jan 6 19:41:27 PST 2006
On Fri, 2006-01-06 at 18:14 +0000, Daniel P. Berrange wrote:
> As it stands there is nothing in the DBus specification which forbids
> use of variadic arguments for method calls / signals. After all the
> message iterator APIs don't care about the contract of a call/signal.
> In the introspection data format, however, there is no way to express
> the signature of a variadic function. We should either explicitly
> forbid variadic functions (even though we can't enforce it in the low
> level C libs), or extend the signature format in introspection to
> provide some way of designating a variadic parameter list.
> On a similar theme most bindings supporting introspection assume there
> is only a single entry defined per (name, interface) tuple, although
> again there is nothing in the spec to say the introspection data has
> this restriction. We should probably be explicit on this unique
> constraint, since there are languages like C where polymorphism on
> method names is not possible.
I think to support multiple languages some "least common denominator" is
required and both varargs and overloading aren't OK. That said, there's
nothing we can do on the libdbus level to ban them really.
A binding could certainly do the Java 5 thing on varargs though (allow
a final argument of "Foo" to be passed in as "foo1, foo2, foo3")
More information about the dbus