g_variant_iter_free(id_iter);
return ret;
+}
+
+EXPORT_API int sticker_consumer_set_event_callback(sticker_consumer_h consumer_handle, sticker_consumer_event_cb callback, void *user_data)
+{
+ CHECK_STICKER_FEATURE();
+
+ if (!consumer_handle || !callback)
+ return STICKER_ERROR_INVALID_PARAMETER;
+
+ consumer_handle->event_cb = callback;
+ consumer_handle->event_cb_user_data = user_data;
+
+ return STICKER_ERROR_NONE;
+}
+
+EXPORT_API int sticker_consumer_unset_event_callback(sticker_consumer_h consumer_handle)
+{
+ CHECK_STICKER_FEATURE();
+
+ if (!consumer_handle)
+ return STICKER_ERROR_INVALID_PARAMETER;
+
+ consumer_handle->event_cb = NULL;
+ consumer_handle->event_cb_user_data = NULL;
+
+ return STICKER_ERROR_NONE;
}
\ No newline at end of file
*/
/**
+ * @brief Enumeration for event type.
+ *
+ * @since_tizen 5.5
+ */
+typedef enum {
+ STICKER_CONSUMER_EVENT_TYPE_INSERT, /**< Insert event type */
+ STICKER_CONSUMER_EVENT_TYPE_DELETE, /**< Delete event type */
+ STICKER_CONSUMER_EVENT_TYPE_UPDATE, /**< Update event type */
+} sticker_consumer_event_type_e;
+
+/**
* @brief The sticker consumer handle.
* @since_tizen 5.5
*/
typedef void (*sticker_consumer_keyword_list_foreach_cb)(const char *keyword, void *user_data);
/**
+ * @brief Called when the stickers are inserted, deleted, or updated.
+ * @since_tizen 5.5
+ * @param[in] event_type The event type of sticker
+ * @param[in] user_data The user data passed from sticker_consumer_set_event_callback()
+ * @pre The callback can be registered using sticker_consumer_set_event_callback()
+ * @see sticker_consumer_set_event_callback()
+ * @see sticker_consumer_unset_event_callback()
+ */
+typedef void (*sticker_consumer_event_cb)(sticker_consumer_event_type_e event_type, void *user_data);
+
+/**
* @brief Creates a sticker consumer handle.
* @since_tizen 5.5
* @privlevel public
int sticker_consumer_get_recent_data_list(sticker_consumer_h consumer_handle, int count, int *result, sticker_consumer_data_foreach_cb callback, void *user_data);
/**
+ * @brief Registers a callback function to be invoked when the stickers are inserted, deleted, or updated.
+ * @since_tizen 5.5
+ * @param[in] consumer_handle The sticker consumer handle
+ * @param[in] callback The callback function to invoke
+ * @param[in] user_data The user data to be passed to the callback function
+ * @return 0 on success, otherwise a negative error value
+ * @retval #STICKER_ERROR_NONE Successful
+ * @retval #STICKER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #STICKER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #STICKER_ERROR_OPERATION_FAILED Operation failed
+ * @see sticker_consumer_event_cb()
+ * @see sticker_consumer_unset_event_callback()
+ */
+int sticker_consumer_set_event_callback(sticker_consumer_h consumer_handle, sticker_consumer_event_cb callback, void *user_data);
+
+/**
+ * @brief Unregisters a callback function.
+ * @since_tizen 5.5
+ * @param[in] consumer_handle The sticker consumer handle
+ * @return 0 on success, otherwise a negative error value
+ * @retval #STICKER_ERROR_NONE Successful
+ * @retval #STICKER_ERROR_NOT_SUPPORTED Not supported
+ * @retval #STICKER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #STICKER_ERROR_OPERATION_FAILED Operation failed
+ * @see sticker_consumer_event_cb()
+ * @see sticker_consumer_set_event_callback()
+ */
+int sticker_consumer_unset_event_callback(sticker_consumer_h consumer_handle);
+
+/**
* @}
*/