alien_surface = NULL;
}
-/* tbm_surface_queue_error_e tbm_surface_queue_get_trace_surface_num(
- tbm_surface_queue_h surface_queue, tbm_surface_queue_trace trace, int *num); */
-TEST_F(TBMSurfaceQueue, GetTraceSurfaceNumFailNull)
-{
- int num = 0;
-
- ASSERT_EXIT({
-
- result = tbm_surface_queue_get_trace_surface_num(NULL, TBM_SURFACE_QUEUE_TRACE_NONE, &num);
- EXPECT_NE(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
-
- result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_NONE, NULL);
- EXPECT_NE(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
-
- exit(0);
- }, ::testing::ExitedWithCode(0), "");
-
-}
-
-TEST_F(TBMSurfaceQueue, GetTraceSurfaceNumFailInvalidInput)
-{
- int num = 0;
-
- result = tbm_surface_queue_get_trace_surface_num(invalid_queue, TBM_SURFACE_QUEUE_TRACE_NONE, &num);
- EXPECT_NE(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
-}
-
-TEST_F(TBMSurfaceQueue, GetTraceSurfaceNumSuccess)
-{
- int num = 0;
-
- result = tbm_surface_queue_set_size(queue, 4, 0);
-
- /* one acquired */
- result = tbm_surface_queue_dequeue(queue, &surface);
- result = tbm_surface_queue_enqueue(queue, surface);
- result = tbm_surface_queue_acquire(queue, &surface);
-
- /* one enqueued */
- result = tbm_surface_queue_dequeue(queue, &surface);
- result = tbm_surface_queue_enqueue(queue, surface);
-
- /* one dequeued */
- result = tbm_surface_queue_dequeue(queue, &surface);
-
- /* one released */
- result = tbm_surface_queue_dequeue(queue, &surface);
- result = tbm_surface_queue_cancel_dequeue(queue, surface);
-
-
- /* test */
- result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_NONE, &num);
- EXPECT_EQ(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
- EXPECT_EQ(0, num);
-
- result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_DEQUEUE, &num);
- EXPECT_EQ(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
- EXPECT_EQ(1, num);
-
- result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_ENQUEUE, &num);
- EXPECT_EQ(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
- EXPECT_EQ(1, num);
-
- result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_ACQUIRE, &num);
- EXPECT_EQ(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
- EXPECT_EQ(1, num);
-
- result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_RELEASE, &num);
- EXPECT_EQ(tbm_error_str(TBM_SURFACE_QUEUE_ERROR_NONE), tbm_error_str(result));
- EXPECT_EQ(1, num);
-}
/* tbm_surface_queue_error_e tbm_surface_queue_set_modes(
tbm_surface_queue_h surface_queue, int modes); */
TEST_F(TBMSurfaceQueue, SetModesFailNull)
tbm_surface_free_cb free_cb,
void *data);
-/**
- * @brief Gets number of the tbm_surfaces by tbm_surface_queue_trace.
- *
- * @param[in] surface_queue The #tbm_surface_queue_h
- * @param[in] trace The #tbm_surface_queue_trace
- * @param[out] num The number of the surfaces
- *
- * @return #TBM_SURFACE_ERROR_NONE on success,
- * otherwise an error status value
- *
- *
- * @par Example
- @code
- #include <tbm_surface_queue.h>
-
- tbm_surface_queue_h surface_queue;
- int num;
- tbm_surface_queue_error_e tsq_err = TBM_SURFACE_QUEUE_ERROR_NONE;
-
- ...
-
- tsq_err = tbm_surface_queue_get_trace_surface_num(surface_queue, TBM_SURFACE_QUEUE_TRACE_DEQUEUE, &num);
- if (tsq_err != TBM_SURFACE_QUEUE_ERROR_NONE) {
- ...
- }
-
- ...
-
- @endcode
- */
-tbm_surface_queue_error_e tbm_surface_queue_get_trace_surface_num(
- tbm_surface_queue_h surface_queue, tbm_surface_queue_trace trace, int *num);
-
/**
* @brief Sets size of the tbm_surface_queue.
*
return TBM_SURFACE_QUEUE_ERROR_NONE;
}
-tbm_surface_queue_error_e
-tbm_surface_queue_get_trace_surface_num(
- tbm_surface_queue_h surface_queue, tbm_surface_queue_trace trace, int *num)
-{
- _tbm_surf_queue_mutex_lock();
- _tbm_set_last_result(TBM_ERROR_NONE);
-
- TBM_SURF_QUEUE_RETURN_VAL_IF_FAIL(_tbm_surface_queue_is_valid(surface_queue),
- TBM_SURFACE_QUEUE_ERROR_INVALID_QUEUE);
- TBM_SURF_QUEUE_RETURN_VAL_IF_FAIL(num != NULL,
- TBM_ERROR_INVALID_PARAMETER);
-
- *num = 0;
-
- pthread_mutex_lock(&surface_queue->lock);
-
- switch (trace) {
- case TBM_SURFACE_QUEUE_TRACE_NONE:
- *num = 0;
- break;
- case TBM_SURFACE_QUEUE_TRACE_DEQUEUE:
- *num = _tbm_surface_queue_get_node_count(surface_queue, QUEUE_NODE_TYPE_DEQUEUE);
- break;
- case TBM_SURFACE_QUEUE_TRACE_ENQUEUE:
- *num = _tbm_surface_queue_get_node_count(surface_queue, QUEUE_NODE_TYPE_ENQUEUE);
- break;
- case TBM_SURFACE_QUEUE_TRACE_ACQUIRE:
- *num = _tbm_surface_queue_get_node_count(surface_queue, QUEUE_NODE_TYPE_ACQUIRE);
- break;
- case TBM_SURFACE_QUEUE_TRACE_RELEASE:
- *num = _tbm_surface_queue_get_node_count(surface_queue, QUEUE_NODE_TYPE_RELEASE);
- break;
- default:
- break;
- }
-
- pthread_mutex_unlock(&surface_queue->lock);
-
- _tbm_surf_queue_mutex_unlock();
-
- return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
static const tbm_surface_queue_interface tbm_queue_default_impl = {
NULL, /*__tbm_queue_default_init*/
NULL, /*__tbm_queue_default_reset*/