51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
#ifndef FX_REFLECTION_ASSEMBLY_H_
|
|
#define FX_REFLECTION_ASSEMBLY_H_
|
|
|
|
#include <fx/iterator.h>
|
|
#include <fx/macros.h>
|
|
|
|
FX_DECLS_BEGIN;
|
|
|
|
#define FX_REFLECTION_TYPE_ASSEMBLY (fx_assembly_get_type())
|
|
|
|
FX_DECLARE_TYPE(fx_assembly);
|
|
|
|
FX_TYPE_CLASS_DECLARATION_BEGIN(fx_assembly)
|
|
FX_TYPE_CLASS_DECLARATION_END(fx_assembly)
|
|
|
|
FX_API fx_type_id fx_assembly_get_type();
|
|
|
|
FX_TYPE_DEFAULT_CONSTRUCTOR(fx_assembly, FX_REFLECTION_TYPE_ASSEMBLY);
|
|
|
|
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 *assembly,
|
|
long major,
|
|
long minor,
|
|
long build,
|
|
long revision);
|
|
|
|
FX_API void fx_assembly_add_type(
|
|
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 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;
|
|
|
|
#endif
|