commit 56a4af4b8edbe01a8c7e2afc4f6c8d9835572ab2
parent 927016507d8c894ba7c1fe1512dcbcc833702090
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Thu, 31 May 2018 16:51:15 +0200
Add the sdis_medium_get_data function
Diffstat:
3 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/src/sdis.h b/src/sdis.h
@@ -373,6 +373,10 @@ SDIS_API enum sdis_medium_type
sdis_medium_get_type
(const struct sdis_medium* medium);
+SDIS_API struct sdis_data*
+sdis_medium_get_data
+ (struct sdis_medium* medium);
+
/*******************************************************************************
* An interface is the boundary between 2 media.
******************************************************************************/
diff --git a/src/sdis_medium.c b/src/sdis_medium.c
@@ -204,3 +204,9 @@ sdis_medium_get_type(const struct sdis_medium* medium)
ASSERT(medium != NULL);
return medium->type;
}
+struct sdis_data*
+sdis_medium_get_data(struct sdis_medium* medium)
+{
+ ASSERT(medium);
+ return medium->data;
+}
diff --git a/src/test_sdis_medium.c b/src/test_sdis_medium.c
@@ -25,6 +25,7 @@ main(int argc, char** argv)
struct sdis_medium* solid = NULL;
struct sdis_fluid_shader fluid_shader = DUMMY_FLUID_SHADER;
struct sdis_solid_shader solid_shader = DUMMY_SOLID_SHADER;
+ void* ptr = (void*)((intptr_t)0xDEADBEEF);
(void)argc, (void)argv;
CHK(mem_init_proxy_allocator(&allocator, &mem_default_allocator) == RES_OK);
@@ -60,15 +61,19 @@ main(int argc, char** argv)
CHK(sdis_fluid_create
(dev, &SDIS_FLUID_SHADER_NULL, NULL, &fluid) == RES_BAD_ARG);
-
- CHK(sdis_solid_create(NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(sdis_solid_create(dev, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(sdis_solid_create(NULL, &solid_shader, NULL, NULL) == RES_BAD_ARG);
- CHK(sdis_solid_create(dev, &solid_shader, NULL, NULL) == RES_BAD_ARG);
- CHK(sdis_solid_create(NULL, NULL, NULL, &solid) == RES_BAD_ARG);
- CHK(sdis_solid_create(dev, NULL, NULL, &solid) == RES_BAD_ARG);
- CHK(sdis_solid_create(NULL, &solid_shader, NULL, &solid) == RES_BAD_ARG);
- CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
+ CHK(sdis_medium_get_type(fluid) == SDIS_FLUID);
+ CHK(sdis_medium_get_data(fluid) == NULL);
+
+ CHK(sdis_solid_create(NULL, NULL, ptr, NULL) == RES_BAD_ARG);
+ CHK(sdis_solid_create(dev, NULL, ptr, NULL) == RES_BAD_ARG);
+ CHK(sdis_solid_create(NULL, &solid_shader, ptr, NULL) == RES_BAD_ARG);
+ CHK(sdis_solid_create(dev, &solid_shader, ptr, NULL) == RES_BAD_ARG);
+ CHK(sdis_solid_create(NULL, NULL, ptr, &solid) == RES_BAD_ARG);
+ CHK(sdis_solid_create(dev, NULL, ptr, &solid) == RES_BAD_ARG);
+ CHK(sdis_solid_create(NULL, &solid_shader, ptr, &solid) == RES_BAD_ARG);
+ CHK(sdis_solid_create(dev, &solid_shader, ptr, &solid) == RES_OK);
+ CHK(sdis_medium_get_type(solid) == SDIS_SOLID);
+ CHK(sdis_medium_get_data(solid) == ptr);
CHK(sdis_medium_ref_put(solid) == RES_OK);
solid_shader.calorific_capacity = NULL;