Getting message's signature etc. (Re: Making an asynchronous method call and proxying the result as a signal

rony rony at wu.ac.at
Sat Jul 30 02:26:17 PDT 2011


Hi Pontus,

just referring to your last question hence changing the title.

On 30.07.2011 10:35, Pontus Carlsson wrote:
> Basically I need to implement a way to make asynchronous calls into a
> Lua library.
> The library itself for the time being is now only capable of connect
> to signals and adding matched signal interception.
>
> Because of Lua's bulky and unsafe threads implementation it seems as
> the most reliable approach is to proxy the method_return into the Lua
> librarys internally registered bus name.
> So, my question is simple as stated in the title, and how exactly does
> one make an asynchronous method call using the C API?
>
> I'm also wondering if and how it's possible to retrieve a method
> declaration, i.e. the parameter list etc?
For the signature you could use
"str=dbus_message_get_signature(dbusMsg)", which you would then need for
unmarshalling the arguments, which might be quite complex, depending on
the signature. Cf. <http://www.freedesktop.org/wiki/Software/dbus> and
then  the link to the "low-level API" documentation at
<http://dbus.freedesktop.org/doc/api/html/index.html>.

HTH,

---rony



More information about the dbus mailing list