glib signal marshaller
Roy Marples
roy at marples.name
Thu Jan 29 02:50:38 PST 2009
Hi List
I've been pretty new to working with dbus and glib, but have written a dbus
server using C which works well, but am having issues with the dbus/glib
client for handling signals.
The signature of the signal is this
<signal name="ScanResults">
<arg name="interface" direction="out" type="s"/>
<arg name="results" direction="out" type="a(suuss)"/>
</signal>
The best I have for glib-genmarshal is
VOID:STRING,BOXED
which I'm pretty sure is wrong.
The glib code trying to register is like this
otype = dbus_g_type_get_struct("GValueArray",
G_TYPE_STRING,
G_TYPE_UINT,
G_TYPE_UINT,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_INVALID);
otype = dbus_g_type_get_collection("GPtrArray", otype);
dbus_g_object_register_marshaller(_dhcpcd_marshal_VOID__STRING_BOXED,
G_TYPE_NONE,
otype, G_TYPE_INVALID);
dbus_g_proxy_add_signal(dbus, "ScanResults",
G_TYPE_STRING, otype, G_TYPE_INVALID);
dbus_g_proxy_connect_signal(dbus, "ScanResults",
G_CALLBACK(dhcpcd_scan_results),
bus, NULL);
Can anyone help me, or point me to someone/list who can?
Thanks
Roy
More information about the dbus
mailing list