mie: ctx is now used to query the type of a value
this allows value get_type callbacks to use mie_ctx to obtain mie_type pointers, rather than having to define their own static versions of the type structs.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
struct mie_value;
|
||||
struct mie_ctx;
|
||||
|
||||
enum mie_ir_format {
|
||||
MIE_IR_NONE = 0,
|
||||
@@ -27,6 +28,7 @@ enum mie_ir_converter_medium {
|
||||
};
|
||||
|
||||
struct mie_ir_converter {
|
||||
struct mie_ctx *c_ctx;
|
||||
enum mie_ir_format c_src_format, c_dest_format;
|
||||
enum mie_ir_converter_medium c_src_medium, c_dest_medium;
|
||||
|
||||
@@ -50,7 +52,7 @@ struct mie_ir_converter {
|
||||
};
|
||||
|
||||
MIE_API struct mie_ir_converter *mie_ir_converter_create(
|
||||
enum mie_ir_format src, enum mie_ir_format dest);
|
||||
struct mie_ctx *ctx, enum mie_ir_format src, enum mie_ir_format dest);
|
||||
MIE_API void mie_ir_converter_destroy(struct mie_ir_converter *converter);
|
||||
|
||||
MIE_API b_status mie_ir_converter_set_src_value(
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#define MIE_VALUE(p) ((struct mie_value *)(p))
|
||||
|
||||
struct mie_ctx;
|
||||
struct mie_value;
|
||||
|
||||
enum mie_value_type_id {
|
||||
@@ -29,7 +30,7 @@ enum mie_value_flags {
|
||||
|
||||
struct mie_value_type {
|
||||
enum mie_value_type_id t_id;
|
||||
struct mie_type *(*t_get_type)(struct mie_value *);
|
||||
struct mie_type *(*t_get_type)(struct mie_value *, struct mie_ctx *);
|
||||
void (*t_cleanup)(struct mie_value *);
|
||||
};
|
||||
|
||||
@@ -43,7 +44,8 @@ struct mie_value {
|
||||
MIE_API void mie_value_init(struct mie_value *val, enum mie_value_type_id type);
|
||||
MIE_API void mie_value_destroy(struct mie_value *val);
|
||||
|
||||
MIE_API struct mie_type *mie_value_get_type(struct mie_value *val);
|
||||
MIE_API struct mie_type *mie_value_get_type(
|
||||
struct mie_value *val, struct mie_ctx *ctx);
|
||||
|
||||
static inline bool mie_value_is(
|
||||
const struct mie_value *val, enum mie_value_type_id type_id)
|
||||
|
||||
Reference in New Issue
Block a user