From: Enlightenment S. <no-...@en...> - 2012-10-18 20:11:16
|
Log: edbus: Add a private function edbus_message_iter_sub_iter_get() Function will be used in a future patch. Patch by: Jos?\195?\169 Roberto de Souza <zeh...@pr...> Author: lucas Date: 2012-10-18 13:11:10 -0700 (Thu, 18 Oct 2012) New Revision: 78199 Trac: http://trac.enlightenment.org/e/changeset/78199 Modified: trunk/edbus/src/lib/edbus_message.c trunk/edbus/src/lib/edbus_message.h trunk/edbus/src/lib/edbus_private.h Modified: trunk/edbus/src/lib/edbus_message.c =================================================================== --- trunk/edbus/src/lib/edbus_message.c 2012-10-18 20:11:04 UTC (rev 78198) +++ trunk/edbus/src/lib/edbus_message.c 2012-10-18 20:11:10 UTC (rev 78199) @@ -527,6 +527,20 @@ 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) { Modified: trunk/edbus/src/lib/edbus_message.h =================================================================== --- trunk/edbus/src/lib/edbus_message.h 2012-10-18 20:11:04 UTC (rev 78198) +++ trunk/edbus/src/lib/edbus_message.h 2012-10-18 20:11:10 UTC (rev 78199) @@ -182,6 +182,7 @@ * @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. * Modified: trunk/edbus/src/lib/edbus_private.h =================================================================== --- trunk/edbus/src/lib/edbus_private.h 2012-10-18 20:11:04 UTC (rev 78198) +++ trunk/edbus/src/lib/edbus_private.h 2012-10-18 20:11:10 UTC (rev 78199) @@ -72,6 +72,8 @@ 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 |