X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fcommon%2Finc%2Fuqueue.h;h=4079b40a6784ba54d03dd57ace153fb36704be58;hb=c315c87e07c4080ecd0ef488e7a1047bc3c509b2;hp=724c3f2c4f20628a2ab728505e2e5e2b852dfc95;hpb=edcfc3d2329da7b914771c0dcff5f42c9b74fd93;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/common/inc/uqueue.h b/resource/csdk/connectivity/common/inc/uqueue.h index 724c3f2..4079b40 100644 --- a/resource/csdk/connectivity/common/inc/uqueue.h +++ b/resource/csdk/connectivity/common/inc/uqueue.h @@ -125,6 +125,22 @@ CAResult_t u_queue_reset(u_queue_t *queue); */ u_queue_message_t *u_queue_get_head(u_queue_t *queue); +/** Data destroy function. **/ +typedef void (*QueueDataDestroyFunction)(void *data, uint32_t size); +typedef bool (*QueueContextDataDestroy)(void *data, uint32_t size, void *ctx); + +/** + * Removes messages from anywhere in the queue + * @param queue pointer to queue + * @param callback Function returns true if element is to be destroyed + * @param ctx data that should be passed to callback + * @param destroy Function to destroy the data, if NULL OICFree will be used + * @return ::CA_STATUS_OK if Success, ::CA_STATUS_FAILED otherwise + */ +CAResult_t u_queue_remove_req_elements(u_queue_t *queue, + QueueContextDataDestroy callback, void *ctx, + QueueDataDestroyFunction destroy); + #ifdef __cplusplus } /* extern "C" */ #endif /* __cplusplus */