exporting dbus-marshal-recursive.h
Havoc Pennington
hp at redhat.com
Thu Feb 17 20:28:43 PST 2005
On Thu, 2005-02-17 at 21:12 -0500, Colin Walters wrote:
>
> Havoc has suggested putting a "human readable" form of the signature
> into the introspection format; I think that's fine, but after we convert
> it from human-readable into a normal signature, we simply don't have
> functionality exported to parse it inside the glib bindings to generate
> the requisite C code. Similarly for invoking methods from received
> messages and sending return values back.
>
> Thoughts? Am I on crack here?
>
You aren't on crack (I've thought about doing this a fair bit; there are
other places we need it). However, it has a high cost at the moment.
marshal-recursive is a messy API, and currently it's too slow; both of
those things will probably lead to it getting changed. It's also sort of
big and bloated.
My best suggestion is to export a much more limited "types only"
signature parsing API. It could be implemented in terms of marshal-
recursive for now though I think a fast simple implementation might be
better and not hard.
void dbus_signature_iter_init (DBusSignatureIter *iter);
get_current_type()
next()
recurse()
unrecurse()
This could go in a header with a few of the other typecode-related
functions.
One thing about marshal-recursive we definitely *don't* want to export
is the value reading/writing; I don't want people using libdbus as some
sort of serialization library.
Havoc
More information about the dbus
mailing list