edbus: Implement edbus_object_managed_objects_get()

Also removed edbus_object_interfaces_added_callback_add/del() because we already
have object events for that.

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



SVN revision: 80680
This commit is contained in:
José Roberto de Souza 2012-12-11 19:49:27 +00:00 committed by Lucas De Marchi
parent 72bd0b445e
commit 146db396e4
2 changed files with 9 additions and 19 deletions

View File

@ -78,3 +78,11 @@ edbus_name_start(EDBus_Connection *conn, const char *name, unsigned int flags, E
return edbus_proxy_call(get_freedesktop_proxy(conn), "StartServiceByName", cb,
cb_data, -1, "su", name, flags);
}
EAPI EDBus_Pending *
edbus_object_managed_objects_get(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data)
{
EDBus_Proxy *proxy;
proxy = edbus_proxy_get(obj, EDBUS_FDO_INTERFACE_OBJECT_MANAGER);
return edbus_proxy_call(proxy, "GetManagedObjects", cb, data, -1, "");
}

View File

@ -124,29 +124,11 @@ EAPI const Eina_Hash *edbus_proxy_property_local_get_all(EDBus_Proxy *proxy
*/
/**
* @defgroup EDBus_FDO_ObjectManager org.freedesktop.DBus.ObjectManager
*
* Whenever edbus_object_managed_objects_monitor() is called on an
* object it will start listening for children being added or
* interfaces changing on the object itself. It will then emit
* events with edbus_object_event_type being
* #EDBUS_OBJECT_EVENT_IFACE_ADDED,
* #EDBUS_OBJECT_EVENT_IFACE_REMOVED,
* #EDBUS_OBJECT_EVENT_PROPERTY_CHANGED and
* #EDBUS_OBJECT_EVENT_PROPERTY_REMOVED.
*
* One may manually query the managed objects with
* edbus_object_managed_objects_get() and listen for changes with
* edbus_object_interfaces_added_callback_add() and
* edbus_object_interfaces_removed_callback_add().
*
* @defgroup EDBus_FDO_ObjectManager org.freedesktop.DBus.ObjectManager *
* @{
*/
EAPI void edbus_object_properties_monitor(EDBus_Object *obj);
EAPI EDBus_Pending *edbus_object_managed_objects_get(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
EAPI EDBus_Signal_Handler *edbus_object_interfaces_added_callback_add(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
EAPI EDBus_Signal_Handler *edbus_object_interfaces_removed_callback_add(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
/**
* @}
*/