fx: re-arrange type system to allow for reflection

This commit is contained in:
2026-05-05 19:03:22 +01:00
parent 8c12868651
commit 90a3905f48
83 changed files with 768 additions and 842 deletions
+6 -6
View File
@@ -31,16 +31,16 @@ static void bitcode_serial_ctx_fini(fx_object *obj, void *priv)
/*** CLASS DEFINITION *********************************************************/
FX_TYPE_CLASS_DEFINITION_BEGIN(fx_bitcode_serial_ctx)
FX_TYPE_CLASS_INTERFACE_BEGIN(fx_object, FX_TYPE_OBJECT)
FX_TYPE_CLASS_BEGIN(fx_bitcode_serial_ctx)
FX_TYPE_VTABLE_INTERFACE_BEGIN(fx_object, FX_TYPE_OBJECT)
FX_INTERFACE_ENTRY(to_string) = NULL;
FX_TYPE_CLASS_INTERFACE_END(fx_object, FX_TYPE_OBJECT)
FX_TYPE_VTABLE_INTERFACE_END(fx_object, FX_TYPE_OBJECT)
FX_TYPE_CLASS_INTERFACE_BEGIN(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_TYPE_VTABLE_INTERFACE_BEGIN(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_INTERFACE_ENTRY(s_serialise) = bitcode_serialise;
FX_INTERFACE_ENTRY(s_deserialise) = bitcode_deserialise;
FX_TYPE_CLASS_INTERFACE_END(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_TYPE_CLASS_DEFINITION_END(fx_bitcode_serial_ctx)
FX_TYPE_VTABLE_INTERFACE_END(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_TYPE_CLASS_END(fx_bitcode_serial_ctx)
FX_TYPE_DEFINITION_BEGIN(fx_bitcode_serial_ctx)
FX_TYPE_ID(0xcdc8c462, 0xf2b3, 0x4193, 0x8cae, 0xc1e5ad9afcb8);
+4 -4
View File
@@ -26,11 +26,11 @@ static void serial_ctx_fini(fx_object *obj, void *priv)
/*** CLASS DEFINITION *********************************************************/
FX_TYPE_CLASS_DEFINITION_BEGIN(fx_serial_ctx)
FX_TYPE_CLASS_INTERFACE_BEGIN(fx_object, FX_TYPE_OBJECT)
FX_TYPE_CLASS_BEGIN(fx_serial_ctx)
FX_TYPE_VTABLE_INTERFACE_BEGIN(fx_object, FX_TYPE_OBJECT)
FX_INTERFACE_ENTRY(to_string) = NULL;
FX_TYPE_CLASS_INTERFACE_END(fx_object, FX_TYPE_OBJECT)
FX_TYPE_CLASS_DEFINITION_END(fx_serial_ctx)
FX_TYPE_VTABLE_INTERFACE_END(fx_object, FX_TYPE_OBJECT)
FX_TYPE_CLASS_END(fx_serial_ctx)
FX_TYPE_DEFINITION_BEGIN(fx_serial_ctx)
FX_TYPE_ID(0xc7c1039a, 0xf397, 0x4fda, 0xb473, 0x4d86fec85384);
+1 -1
View File
@@ -12,7 +12,7 @@ FX_DECLARE_TYPE(fx_bitcode_serial_ctx);
FX_TYPE_CLASS_DECLARATION_BEGIN(fx_bitcode_serial_ctx)
FX_TYPE_CLASS_DECLARATION_END(fx_bitcode_serial_ctx)
FX_API fx_type fx_bitcode_serial_ctx_get_type(void);
FX_API fx_type_id fx_bitcode_serial_ctx_get_type(void);
FX_TYPE_DEFAULT_CONSTRUCTOR(fx_bitcode_serial_ctx, FX_TYPE_BITCODE_SERIAL_CTX);
+1 -1
View File
@@ -35,7 +35,7 @@ typedef struct fx_serial_ctx_data {
fx_stream_buffer *ctx_streambuf;
} fx_serial_ctx_data;
FX_API fx_type fx_serial_ctx_get_type(void);
FX_API fx_type_id fx_serial_ctx_get_type(void);
FX_API fx_result fx_serial_ctx_serialise(
fx_serial_ctx *ctx,
+1 -1
View File
@@ -12,7 +12,7 @@ FX_DECLARE_TYPE(fx_toml_serial_ctx);
FX_TYPE_CLASS_DECLARATION_BEGIN(fx_toml_serial_ctx)
FX_TYPE_CLASS_DECLARATION_END(fx_toml_serial_ctx)
FX_API fx_type fx_toml_serial_ctx_get_type(void);
FX_API fx_type_id fx_toml_serial_ctx_get_type(void);
FX_TYPE_DEFAULT_CONSTRUCTOR(fx_toml_serial_ctx, FX_TYPE_TOML_SERIAL_CTX);
+6 -6
View File
@@ -2322,16 +2322,16 @@ static void toml_serial_ctx_fini(fx_object *obj, void *priv)
/*** CLASS DEFINITION *********************************************************/
FX_TYPE_CLASS_DEFINITION_BEGIN(fx_toml_serial_ctx)
FX_TYPE_CLASS_INTERFACE_BEGIN(fx_object, FX_TYPE_OBJECT)
FX_TYPE_CLASS_BEGIN(fx_toml_serial_ctx)
FX_TYPE_VTABLE_INTERFACE_BEGIN(fx_object, FX_TYPE_OBJECT)
FX_INTERFACE_ENTRY(to_string) = NULL;
FX_TYPE_CLASS_INTERFACE_END(fx_object, FX_TYPE_OBJECT)
FX_TYPE_VTABLE_INTERFACE_END(fx_object, FX_TYPE_OBJECT)
FX_TYPE_CLASS_INTERFACE_BEGIN(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_TYPE_VTABLE_INTERFACE_BEGIN(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_INTERFACE_ENTRY(s_serialise) = toml_serialise;
FX_INTERFACE_ENTRY(s_deserialise) = toml_deserialise;
FX_TYPE_CLASS_INTERFACE_END(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_TYPE_CLASS_DEFINITION_END(fx_toml_serial_ctx)
FX_TYPE_VTABLE_INTERFACE_END(fx_serial_ctx, FX_TYPE_SERIAL_CTX)
FX_TYPE_CLASS_END(fx_toml_serial_ctx)
FX_TYPE_DEFINITION_BEGIN(fx_toml_serial_ctx)
FX_TYPE_ID(0xaec8dca0, 0x131a, 0x4217, 0x916b, 0xaed15756601c);