replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / resource / csdk / connectivity / common / inc / uqueue.h
index 724c3f2..4079b40 100644 (file)
@@ -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 */