dbus help needed in sending an a{sv}
c_c
cchandel at yahoo.com
Thu Aug 20 06:45:49 CEST 2009
Hi,
I'm trying to write the c equivalent of the following python code (without
the line break)
'mdbus -s org.freesmartphone.opimd /org/freesmartphone/PIM/Messages
org.freesmartphone.PIM.Messages.Query {}'
essentially this means sending a array -> dict -> one string(key) -> one
variant(value). In order to send a query with the key="Direction" and
value="in" I use the following code
key = "Direction";
value = "in";
dbus_message_iter_init_append(msg, &iter);
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "{sv}", &array);
dbus_message_iter_open_container(&array, DBUS_TYPE_DICT_ENTRY, 0, &dict);
dbus_message_iter_append_basic(&dict, DBUS_TYPE_STRING, &key);
dbus_message_iter_open_container(&dict, DBUS_TYPE_VARIANT,
DBUS_TYPE_STRING_AS_STRING, &variant);
dbus_message_iter_append_basic(&variant, DBUS_TYPE_STRING, &value);
dbus_message_iter_close_container(&dict, &variant);
dbus_message_iter_close_container(&array, &dict);
dbus_message_iter_close_container(&iter, &array);
and it works fine.
But - how do I send a NULL key,value? I assume I'm sending a NULL - not
sure if that's the way to go about it.
Using the code above with key and value = "" or " " causes segmentation
fault. I'm definitely doing something wrong - but I don't know what.
Can anyone help?
--
View this message in context: http://n2.nabble.com/dbus-help-needed-in-sending-an-a%7Bsv%7D-tp3476909p3476909.html
Sent from the Openmoko Devel mailing list archive at Nabble.com.
More information about the devel
mailing list