edbus: Add a private function edbus_message_iter_sub_iter_get()

Function will be used in a future patch.

Patch by: José Roberto de Souza  <zehortigoza@profusion.mobi>



SVN revision: 78199
This commit is contained in:
José Roberto de Souza 2012-10-18 20:11:10 +00:00 committed by Lucas De Marchi
parent 3efa417886
commit cc28164d70
3 changed files with 17 additions and 0 deletions

View File

@ -527,6 +527,20 @@ edbus_message_iter_basic_get(EDBus_Message_Iter *iter, void *value)
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)
{

View File

@ -182,6 +182,7 @@ EAPI EDBus_Message_Iter *edbus_message_iter_get(const EDBus_Message *msg) EINA_A
* @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.
*

View File

@ -72,6 +72,8 @@ void edbus_connection_name_owner_monitor(EDBus_Connection *con
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