efl/src/lib/eldbus/eldbus_pending.h

98 lines
3.4 KiB
C

#ifndef ELDBUS_PENDING_H
#define ELDBUS_PENDING_H 1
/**
* @defgroup Eldbus_Pending Pending
* @ingroup Eldbus
*
* @{
*/
/**
* @brief Set data to a Eldbus_Pending object.
*
* @param pending The Eldbus_Pending object on which the data is set.
* @param key A string corresponding to the key associated with the data.
* @param data The data to set to the Eldbus_Pending object.
*/
EAPI void eldbus_pending_data_set(Eldbus_Pending *pending, const char *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
/**
* @brief Get the data set to a Eldbus_Pending object.
*
* @param pending The Eldbus_Pending object on which the data is set.
* @param key A string corresponding to the key associated with the data.
* @return The data set to the Eldbus_Pending object.
*/
EAPI void *eldbus_pending_data_get(const Eldbus_Pending *pending, const char *key) EINA_ARG_NONNULL(1, 2);
/**
* @brief Delete the data set to a Eldbus_Pending object.
*
* @param pending The Eldbus_Pending object on which the data is set.
* @param key A string corresponding to the key associated with the data.
*/
EAPI void *eldbus_pending_data_del(Eldbus_Pending *pending, const char *key) EINA_ARG_NONNULL(1, 2);
/**
* @brief Cancel the pending message.
*
* @param pending The Eldbus_Pending object corresponding to the pending message.
*/
EAPI void eldbus_pending_cancel(Eldbus_Pending *pending) EINA_ARG_NONNULL(1);
/**
* @brief Get the destination of the pending message.
*
* @param pending The Eldbus_Pending object.
* @return A string corresponding to the destination of the message.
*/
EAPI const char *eldbus_pending_destination_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
/**
* @brief Get the path of the pending message.
*
* @param pending The Eldbus_Pending object.
* @return A string corresponding to the path of the message.
*/
EAPI const char *eldbus_pending_path_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
/**
* @brief Get the interface of the pending message.
*
* @param pending The Eldbus_Pending object.
* @return A string corresponding to the interface of the message.
*/
EAPI const char *eldbus_pending_interface_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
/**
* @brief Get the method of the pending message.
*
* @param pending The Eldbus_Pending object.
* @return A string corresponding to the method of the message.
*/
EAPI const char *eldbus_pending_method_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
/**
* @brief Add a callback function to be called when pending will be freed.
*
* @param pending The Eldbus_Pending object on which the callback is registered.
* @param cb The callback to register.
* @param data The data to pass to the callback.
*/
EAPI void eldbus_pending_free_cb_add(Eldbus_Pending *pending, Eldbus_Free_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
/**
* @brief Remove callback registered in eldbus_pending_free_cb_add().
*
* @param pending The Eldbus_Pending object on which the callback was registered.
* @param cb The callback that was registered.
* @param data The data passed to the callback.
*/
EAPI void eldbus_pending_free_cb_del(Eldbus_Pending *pending, Eldbus_Free_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
/**
* @}
*/
#endif