fx.reflection: implement assembly registration and lookup

This commit is contained in:
2026-05-25 17:26:08 +01:00
parent 673bf07cf6
commit f9b456a99f
2 changed files with 369 additions and 33 deletions
+18 -4
View File
@@ -1,6 +1,7 @@
#ifndef FX_REFLECTION_ASSEMBLY_H_
#define FX_REFLECTION_ASSEMBLY_H_
#include <fx/iterator.h>
#include <fx/macros.h>
FX_DECLS_BEGIN;
@@ -16,20 +17,33 @@ FX_API fx_type_id fx_assembly_get_type();
FX_TYPE_DEFAULT_CONSTRUCTOR(fx_assembly, FX_REFLECTION_TYPE_ASSEMBLY);
FX_API void fx_assembly_set_name(fx_assembly *asm, const char *name);
FX_API fx_iterator *fx_assembly_get_all(void);
FX_API const fx_assembly *fx_assembly_get_by_name(const char *name);
FX_API fx_status fx_assembly_register(fx_assembly *assembly);
FX_API void fx_assembly_set_name(fx_assembly *assembly, const char *name);
FX_API void fx_assembly_set_version(
fx_assembly *asm,
fx_assembly *assembly,
long major,
long minor,
long build,
long revision);
FX_API void fx_assembly_add_type(
fx_assembly *asm,
fx_assembly *assembly,
const char *full_name,
fx_type_id type_id);
FX_API fx_iterator *fx_assembly_get_types(const fx_assembly *assembly);
FX_API void fx_assembly_dump(const fx_assembly *asm);
FX_API const char *fx_assembly_get_name(const fx_assembly *assembly);
FX_API void fx_assembly_get_version(
const fx_assembly *assembly,
long *out_major,
long *out_minor,
long *out_build,
long *out_revision);
FX_API void fx_assembly_dump(const fx_assembly *assembly);
FX_DECLS_END;