dbus_message_iter_get_basic(&iter->dbus_iterator, value);
}
+EDBus_Message_Iter *
+edbus_message_iter_sub_iter_get(EDBus_Message_Iter *iter)
+{
+ EDBus_Message_Iter *sub;
+ EDBUS_MESSAGE_ITERATOR_CHECK_RETVAL(iter, NULL);
+ EINA_SAFETY_ON_TRUE_RETURN_VAL(iter->writable, NULL);
+
+ sub = _message_iterator_new(EINA_FALSE);
+ dbus_message_iter_recurse(&iter->dbus_iterator, &sub->dbus_iterator);
+ iter->iterators = eina_inlist_append(iter->iterators,
+ EINA_INLIST_GET(sub));
+ return sub;
+}
+
EAPI char*
edbus_message_iter_signature_get(EDBus_Message_Iter *iter)
{
* @brief Get a basic type from EDBus_Iterator.
*/
EAPI void edbus_message_iter_basic_get(EDBus_Message_Iter *iter, void *value) EINA_ARG_NONNULL(1, 2);
+
/**
* @brief Returns the current signature of a message iterator.
*
EDBus_Pending *_edbus_connection_send(EDBus_Connection *conn, EDBus_Message *msg, EDBus_Message_Cb cb, const void *cb_data, double timeout);
+EDBus_Message_Iter *edbus_message_iter_sub_iter_get(EDBus_Message_Iter *iter);
+
#ifdef HAVE_VA_LIST_AS_ARRAY
#define MAKE_PTR_FROM_VA_LIST(arg) ((va_list *)(arg))
#else