[PATCH 0/3] CPU frequency scaling addon

David Zeuthen david at fubar.dk
Mon Aug 14 14:17:12 PDT 2006


On Mon, 2006-08-14 at 22:34 +0200, Holger Macht wrote:
> > I'm guessing the addon needs to return an array of strings, rather than
> > a variable message length list of strings. I know changing the message
> > format depending on the number of returned values breaks the dbus-glib
> > bindings for me, and I'm guessing the python bindings the same.
> 
> I don't really understand that. Can you please elaborate a bit why this
> should break any bindings?

Because it changes the method signature depending on what it returns. So
if you return two items the signature is

 foo (OUT string item1, OUT string item2)

which has signature "ss" and for three items it's

 foo (OUT string item1, OUT string item2, OUT string item3)

which has signature "sss". Now, a method with arrays would be

 foo (OUT string items[])

which has the constant signature "as". And we need constant signatures
for the introspection XML to be constant especially as it's used by
D-Bus binding tools to generate code for actually calling the method.

    David




More information about the hal mailing list