From 5f2bbc71513c1e07d95a668d735c091a617637bf Mon Sep 17 00:00:00 2001 From: Max Wash Date: Tue, 28 Oct 2025 15:11:54 +0000 Subject: [PATCH] core: class: add functions to get a registered class, and get the name of a class --- core/class.c | 15 +++++++++++++++ core/include/blue/core/class.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/core/class.c b/core/class.c index c21f954..7d305dd 100644 --- a/core/class.c +++ b/core/class.c @@ -6,6 +6,21 @@ #include #include +void *b_class_get(b_type id) +{ + struct b_type_registration *r = b_type_get_registration(id); + if (!r) { + return NULL; + } + + return r->r_class; +} + +const char *b_class_get_name(const struct _b_class *c) +{ + return c->c_type->r_info->t_name; +} + void *b_class_get_interface(const struct _b_class *c, const union b_type *id) { const struct b_type_registration *type_reg = c->c_type; diff --git a/core/include/blue/core/class.h b/core/include/blue/core/class.h index 6c9cbd6..326393c 100644 --- a/core/include/blue/core/class.h +++ b/core/include/blue/core/class.h @@ -8,6 +8,8 @@ typedef struct _b_class b_class; +BLUE_API void *b_class_get(b_type id); +BLUE_API const char *b_class_get_name(const b_class *c); BLUE_API void *b_class_get_interface(const b_class *c, b_type id); #endif