[PATCH] more dbus control interface functionality

Jouni Malinen jkmaline
Thu Jun 22 20:04:52 PDT 2006

On Thu, Jun 22, 2006 at 07:56:13AM -0400, Dan Williams wrote:

> I can take a stab at cleaning them up, based on your comments.  You've
> probably got better things to do :)

Thanks, appreciated.

> Not a whole bunch, I think, so you're probably right here.  The main
> missing item from the dict helper code is arrays of strings, but that's
> not so hard to add twice.  We need to strike a balance here between the
> raw dbus API and the one presented by the helper code; can't make it too
> complex or we might just as well use the dbus API directly.
> So; I will re-style the dbus-dict-helper.* files for wpa_supplicant,
> including documentation comments.

OK, I think we can handle this for now and if there is more activity on
this area and multiple users, making it a separate library could be
better solution.

> Yes, dbus messages can also be errors/exceptions.  If I perform a method
> call on your dbus object, and an error occurs in your object while
> handling that method call, you can throw an error that I may handle.
> dbus errors are _not_ exceptions in the traditional C++/Python sense.
> They are simply DBusMessage objects with an "error" type, no different
> than a method call or a method return.  Language bindings may do with
> them what they want; Python converts them to standard python exceptions
> (as you see in the example I provide), C++ & Java bindings may convert
> them to exceptions, but in plain C it is up to the caller to handle
> them.

OK. The word "exception" as in the sense of C++ exceptions was just
something I did not want to see anywhere near wpa_supplicant ;-).

> When you make a method call you do:
> reply = dbus_connection_send_with_reply_and_block (con, message,
> <timeout>, &error);
> Here, the &error is a local error variable if an error occurs before the
> message is sent.  But the 'reply' argument may be the actual method
> return, or it can be an error.

This is perfectly fine with me.

> Quite; I'm going to need to add more than a few callbacks like this for
> the dbus stuff, and I'm sure the normal socket-based control interface
> would like to know about the same events.
> So for now I'll leave this as-is, but going forward lets identify all
> the place that need events and work out a solution for them.

OK. I'm fine with adding direct calls now and cleaning them up later
when more users show up.

Jouni Malinen                                            PGP id EFC895FA

More information about the Hostap mailing list