tbm_module: add tbm_surface_data_get_bo_data_array
[platform/core/uifw/libtbm.git] / src / tbm_module.c
index b614128..57421c4 100644 (file)
@@ -910,6 +910,20 @@ tbm_surface_data_get_plane_data(tbm_backend_surface_data *surface_data, int plan
        return TBM_ERROR_NONE;
 }
 
+tbm_backend_bo_data **
+tbm_surface_data_get_bo_data_array(tbm_backend_surface_data *surface_data, int *num_bos, tbm_error_e *error)
+{
+       hal_tbm_bo **hal_bos = NULL;
+
+       TBM_RETURN_VAL_SET_ERR_IF_FAIL(surface_data, NULL, *error, TBM_ERROR_INVALID_PARAMETER);
+       TBM_RETURN_VAL_SET_ERR_IF_FAIL(surface_data->hal_surface, NULL, *error, TBM_ERROR_NOT_SUPPORTED);
+
+       hal_bos = hal_tbm_surface_get_bos(surface_data->hal_surface, num_bos, (hal_tbm_error *)error);
+       TBM_RETURN_VAL_IF_FAIL(hal_bos, NULL);
+
+       return (tbm_backend_bo_data **)hal_bos;
+}
+
 void
 tbm_module_bo_free(tbm_module *module, tbm_bo bo, tbm_backend_bo_data *bo_data, int get_from_hal_surface)
 {