* @param thread_pool The thread pool structure.
* @param method The routine to be executed.
* @param data The data to be passed to the routine.
+ * @param taskId An unique identifier of task.
*
* @return CA_STATUS_OK on success.
* @return Error on failure.
*/
-CAResult_t ca_thread_pool_add_task(ca_thread_pool_t thread_pool, ca_thread_func method,
- void *data);
+#ifndef __TIZENRT__
+CAResult_t ca_thread_pool_add_task(ca_thread_pool_t thread_pool, ca_thread_func method, void *data,
+ uint32_t *taskId);
+#else
+CAResult_t ca_thread_pool_add_task(ca_thread_pool_t thread_pool, ca_thread_func method, void *data,
+ uint32_t *taskId, const char *task_name, int stack_size);
+#endif
+
+/**
+ * This function removes a routine to be executed by the thread pool.
+ *
+ * @param thread_pool The thread pool structure.
+ * @param taskId An unique identifier of task.
+ *
+ * @return CA_STATUS_OK on success.
+ * @return Error on failure.
+ */
+CAResult_t ca_thread_pool_remove_task(ca_thread_pool_t thread_pool, uint32_t taskId);
/**
* This function stops all the worker threads (stop & exit). And frees all the allocated memory.