commit 40d4d707200359000fdd1ee5e05cf55d6a597236
parent 31f5a4c86245f4c9446190fd7a2f71fe4a57014a
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Fri, 20 Apr 2018 14:47:35 +0200
Add an API call to get max medium rank.
Diffstat:
3 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/src/senc2d.h b/src/senc2d.h
@@ -161,6 +161,11 @@ senc2d_scene_ref_put
* StarEnclosures2D descriptor. It is an handle toward an analyze result.
******************************************************************************/
SENC2D_API res_T
+senc2d_descriptor_get_max_medium
+ (const struct senc2d_descriptor* descriptor,
+ unsigned* rank);
+
+SENC2D_API res_T
senc2d_descriptor_get_enclosure_count
(const struct senc2d_descriptor* descriptor,
unsigned* count);
diff --git a/src/senc2d_descriptor.c b/src/senc2d_descriptor.c
@@ -84,6 +84,16 @@ struct mem_allocator*
* Exported functions
******************************************************************************/
res_T
+senc2d_descriptor_get_max_medium
+ (const struct senc2d_descriptor* desc, unsigned* rank)
+{
+ if(!desc || !rank) return RES_BAD_ARG;
+ ASSERT(desc->scene->nmeds < UINT_MAX); /* API type */
+ *rank = (unsigned)desc->scene->nmeds;
+ return RES_OK;
+}
+
+res_T
senc2d_descriptor_get_enclosure_count
(const struct senc2d_descriptor* desc, unsigned* count)
{
diff --git a/src/test_senc2d_descriptor.c b/src/test_senc2d_descriptor.c
@@ -63,6 +63,13 @@ main(int argc, char** argv)
CHK(senc2d_descriptor_ref_put(NULL) == RES_BAD_ARG);
CHK(senc2d_descriptor_ref_put(desc) == RES_OK);
+ CHK(senc2d_descriptor_get_max_medium(NULL, &count) == RES_BAD_ARG);
+ CHK(senc2d_descriptor_get_max_medium(desc, NULL) == RES_BAD_ARG);
+ CHK(senc2d_descriptor_get_enclosure_count(NULL, NULL) == RES_BAD_ARG);
+ CHK(senc2d_descriptor_get_max_medium(desc, &count) == RES_OK);
+
+ CHK(count == 2);
+
CHK(senc2d_descriptor_get_enclosure_count(NULL, &count) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_enclosure_count(desc, NULL) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_enclosure_count(NULL, NULL) == RES_BAD_ARG);