diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 5fd63d6..1efbb11 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -10,7 +10,8 @@ AM_CPPFLAGS = \ EXTRA_DIST = \ clouseau_private.h \ - clouseau_private2.h + clouseau_private2.h \ + clouseau_data_legacy.h pkgdir = $(libdir)/clouseau pkg_LTLIBRARIES = libclouseau.la libclouseau_client.la @@ -18,6 +19,7 @@ pkg_LTLIBRARIES = libclouseau.la libclouseau_client.la libclouseau_la_SOURCES = \ clouseau_client.c \ clouseau_object_information.c \ + clouseau_data_legacy.c \ clouseau_data.c libclouseau_la_LDFLAGS = -module -avoid-version -rdynamic @@ -26,6 +28,7 @@ libclouseau_la_LIBADD = @EFL_LIBS@ libclouseau_la_CFLAGS = @EFL_CFLAGS@ libclouseau_client_la_SOURCES = clouseau_object_information.c \ + clouseau_data_legacy.c \ clouseau_data.c libclouseau_client_la_DEPENDENCIES = $(top_builddir)/config.h diff --git a/src/lib/clouseau_data.c b/src/lib/clouseau_data.c index dfc9a2a..4cabee9 100644 --- a/src/lib/clouseau_data.c +++ b/src/lib/clouseau_data.c @@ -1,14 +1,8 @@ #include "clouseau_private.h" +#include "clouseau_data_legacy.h" static int clouseau_init_count = 0; -static Eet_Data_Descriptor *clouseau_object_edd = NULL; -static Eet_Data_Descriptor *clouseau_union_edd = NULL; -static Eet_Data_Descriptor *clouseau_textblock_edd = NULL; -static Eet_Data_Descriptor *clouseau_edje_edd = NULL; -static Eet_Data_Descriptor *clouseau_image_edd = NULL; -static Eet_Data_Descriptor *clouseau_text_edd = NULL; -static Eet_Data_Descriptor *clouseau_elm_edd = NULL; static Eet_Data_Descriptor *clouseau_connect_edd = NULL; static Eet_Data_Descriptor *clouseau_app_add_edd = NULL; static Eet_Data_Descriptor *clouseau_data_req_edd = NULL; @@ -20,7 +14,6 @@ static Eet_Data_Descriptor *clouseau_app_closed_edd = NULL; static Eet_Data_Descriptor *clouseau_highlight_edd = NULL; static Eet_Data_Descriptor *clouseau_bmp_req_edd = NULL; static Eet_Data_Descriptor *clouseau_protocol_edd = NULL; -static Eet_Data_Descriptor *clouseau_map_point_props_edd = NULL; static Eet_Data_Descriptor *eo_string_edd = NULL; static Eet_Data_Descriptor *eo_int_edd = NULL; @@ -238,276 +231,6 @@ _clouseau_bmp_req_desc_make(void) "ctr", ctr, EET_T_UINT); } -static struct { - Clouseau_Object_Type u; - const char *name; -} eet_props_mapping[] = { - /* As eet_mapping */ - { CLOUSEAU_OBJ_TYPE_OTHER, "CLOUSEAU_OBJ_TYPE_OTHER" }, - { CLOUSEAU_OBJ_TYPE_ELM, "CLOUSEAU_OBJ_TYPE_ELM" }, - { CLOUSEAU_OBJ_TYPE_TEXT, "CLOUSEAU_OBJ_TYPE_TEXT" }, - { CLOUSEAU_OBJ_TYPE_IMAGE, "CLOUSEAU_OBJ_TYPE_IMAGE" }, - { CLOUSEAU_OBJ_TYPE_EDJE, "CLOUSEAU_OBJ_TYPE_EDJE" }, - { CLOUSEAU_OBJ_TYPE_TEXTBLOCK, "CLOUSEAU_OBJ_TYPE_TEXTBLOCK" }, - { CLOUSEAU_OBJ_TYPE_UNKNOWN, NULL } -}; - -static const char * -_clouseau_props_union_type_get(const void *data, Eina_Bool *unknow) -{ /* _union_type_get */ - const Clouseau_Object_Type *u = data; - int i; - - if (unknow) - *unknow = EINA_FALSE; - - for (i = 0; eet_props_mapping[i].name != NULL; ++i) - if (*u == eet_props_mapping[i].u) - return eet_props_mapping[i].name; - - if (unknow) - *unknow = EINA_TRUE; - - return NULL; -} - -static Eina_Bool -_clouseau_props_union_type_set(const char *type, void *data, Eina_Bool unknow) -{ /* same as _union_type_set */ - Clouseau_Object_Type *u = data; - int i; - - if (unknow) - return EINA_FALSE; - - for (i = 0; eet_props_mapping[i].name != NULL; ++i) - if (strcmp(eet_props_mapping[i].name, type) == 0) - { - *u = eet_props_mapping[i].u; - return EINA_TRUE; - } - - return EINA_FALSE; -} - -static void -_clouseau_elm_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Elm_Props); - clouseau_elm_edd = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, - "type", type, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, - "style", style, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, - "scale", scale, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, - "has_focus", has_focus, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, - "is_disabled", is_disabled, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, - "is_mirrored", is_mirrored, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, - "is_mirrored_automatic", is_mirrored_automatic, EET_T_UCHAR); -} - -static void -_clouseau_text_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Evas_Text_Props); - clouseau_text_edd = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, - "font", font, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, - "size", size, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, - "source", source, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, - "text", text, EET_T_STRING); -} - -static void -_clouseau_image_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Evas_Image_Props); - clouseau_image_edd = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, - "file", file, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, - "key", key, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, - "source", source, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, - "load_err", load_err, EET_T_STRING); -} - -static void -_clouseau_edje_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Edje_Props); - clouseau_edje_edd = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_edje_edd, Clouseau_Edje_Props, - "file", file, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_edje_edd, Clouseau_Edje_Props, - "group", group, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_edje_edd, Clouseau_Edje_Props, - "load_err", load_err, EET_T_STRING); -} - -static void -_clouseau_textblock_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Evas_Textblock_Props); - clouseau_textblock_edd = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_textblock_edd, Clouseau_Evas_Textblock_Props, - "style", style, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_textblock_edd, Clouseau_Evas_Textblock_Props, - "text", text, EET_T_STRING); -} - -static void -_clouseau_map_point_props_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, - Clouseau_Evas_Map_Point_Props); - - clouseau_map_point_props_edd = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_map_point_props_edd, - Clouseau_Evas_Map_Point_Props, "x", x, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_map_point_props_edd, - Clouseau_Evas_Map_Point_Props, "y", y, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_map_point_props_edd, - Clouseau_Evas_Map_Point_Props, "z", z, EET_T_INT); -} - -static void -_clouseau_object_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Object); - clouseau_object_edd = eet_data_descriptor_stream_new(&eddc); - - /* START - evas_props Struct desc */ - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.name", evas_props.name, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.bt", evas_props.bt, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.layer", evas_props.layer, EET_T_SHORT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.x", evas_props.x, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.y", evas_props.y, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.w", evas_props.w, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.h", evas_props.h, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.scale", evas_props.scale, EET_T_DOUBLE); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.min_w", evas_props.min_w, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.min_h", evas_props.min_h, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.max_w", evas_props.max_w, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.max_h", evas_props.max_h, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.req_w", evas_props.req_w, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.req_h", evas_props.req_h, EET_T_INT); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.align_x", evas_props.align_x, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.align_y", evas_props.align_y, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.weight_x", evas_props.weight_x, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.weight_y", evas_props.weight_y, EET_T_DOUBLE); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.r", evas_props.r, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.g", evas_props.g, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.b", evas_props.b, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.a", evas_props.a, EET_T_INT); - - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.pass_events", evas_props.pass_events, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.repeat_events", evas_props.repeat_events, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.propagate_events", evas_props.propagate_events, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.has_focus", evas_props.has_focus, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.is_clipper", evas_props.is_clipper, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.is_visible", evas_props.is_visible, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.clipper", evas_props.clipper, EET_T_ULONG_LONG); - EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, - "evas_props.mode", evas_props.mode, EET_T_INT); - - _clouseau_elm_desc_make(); - _clouseau_text_desc_make(); - _clouseau_image_desc_make(); - _clouseau_edje_desc_make(); - _clouseau_textblock_desc_make(); - - _clouseau_map_point_props_desc_make(); - EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(clouseau_object_edd, Clouseau_Object, - "evas_props.points", evas_props.points, - clouseau_map_point_props_edd); - - /* for union */ - EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Extra_Props); - eddc.func.type_get = _clouseau_props_union_type_get; - eddc.func.type_set = _clouseau_props_union_type_set; - clouseau_union_edd = eet_data_descriptor_file_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, - "CLOUSEAU_OBJ_TYPE_ELM", clouseau_elm_edd); - EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, - "CLOUSEAU_OBJ_TYPE_TEXT", - clouseau_text_edd); - EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, - "CLOUSEAU_OBJ_TYPE_IMAGE", - clouseau_image_edd); - EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, - "CLOUSEAU_OBJ_TYPE_EDJE", - clouseau_edje_edd); - EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, - "CLOUSEAU_OBJ_TYPE_TEXTBLOCK", - clouseau_textblock_edd); - - EET_DATA_DESCRIPTOR_ADD_UNION(clouseau_object_edd, Clouseau_Object, - "u", extra_props.u, - extra_props.type, clouseau_union_edd); -} - /* START EO descs */ struct _Clouseau_Eo_Dbg_Info_Mapping { @@ -730,11 +453,11 @@ _clouseau_eo_descs_make(void) static void clouseau_data_descriptors_init(void) { + clouseau_data_descriptors_legacy_init(); _clouseau_eo_descs_make(); _clouseau_bmp_req_desc_make(); _clouseau_bmp_info_desc_make(); _clouseau_shot_list_desc_make(); - _clouseau_object_desc_make(); _clouseau_tree_item_desc_make(); _clouseau_connect_desc_make(); _clouseau_app_add_desc_make(); @@ -761,18 +484,11 @@ clouseau_data_descriptors_shutdown(void) eet_data_descriptor_free(clouseau_tree_edd); eet_data_descriptor_free(clouseau_app_closed_edd); eet_data_descriptor_free(clouseau_highlight_edd); - eet_data_descriptor_free(clouseau_object_edd); eet_data_descriptor_free(clouseau_bmp_req_edd); eet_data_descriptor_free(clouseau_bmp_info_edd); eet_data_descriptor_free(clouseau_shot_list_edd); eet_data_descriptor_free(clouseau_protocol_edd); - eet_data_descriptor_free(clouseau_elm_edd); - eet_data_descriptor_free(clouseau_text_edd); - eet_data_descriptor_free(clouseau_image_edd); - eet_data_descriptor_free(clouseau_edje_edd); - eet_data_descriptor_free(clouseau_textblock_edd); - eet_data_descriptor_free(clouseau_union_edd); - eet_data_descriptor_free(clouseau_map_point_props_edd); + clouseau_data_descriptors_legacy_shutdown(); } static void * diff --git a/src/lib/clouseau_data_legacy.c b/src/lib/clouseau_data_legacy.c new file mode 100644 index 0000000..8724ba1 --- /dev/null +++ b/src/lib/clouseau_data_legacy.c @@ -0,0 +1,295 @@ +#include "clouseau_data_legacy.h" + +Eet_Data_Descriptor *clouseau_object_edd = NULL; +Eet_Data_Descriptor *clouseau_union_edd = NULL; +static Eet_Data_Descriptor *clouseau_textblock_edd = NULL; +static Eet_Data_Descriptor *clouseau_edje_edd = NULL; +static Eet_Data_Descriptor *clouseau_image_edd = NULL; +static Eet_Data_Descriptor *clouseau_text_edd = NULL; +static Eet_Data_Descriptor *clouseau_elm_edd = NULL; +static Eet_Data_Descriptor *clouseau_map_point_props_edd = NULL; + +static struct { + Clouseau_Object_Type u; + const char *name; +} eet_props_mapping[] = { + /* As eet_mapping */ + { CLOUSEAU_OBJ_TYPE_OTHER, "CLOUSEAU_OBJ_TYPE_OTHER" }, + { CLOUSEAU_OBJ_TYPE_ELM, "CLOUSEAU_OBJ_TYPE_ELM" }, + { CLOUSEAU_OBJ_TYPE_TEXT, "CLOUSEAU_OBJ_TYPE_TEXT" }, + { CLOUSEAU_OBJ_TYPE_IMAGE, "CLOUSEAU_OBJ_TYPE_IMAGE" }, + { CLOUSEAU_OBJ_TYPE_EDJE, "CLOUSEAU_OBJ_TYPE_EDJE" }, + { CLOUSEAU_OBJ_TYPE_TEXTBLOCK, "CLOUSEAU_OBJ_TYPE_TEXTBLOCK" }, + { CLOUSEAU_OBJ_TYPE_UNKNOWN, NULL } +}; + +static const char * +_clouseau_props_union_type_get(const void *data, Eina_Bool *unknow) +{ /* _union_type_get */ + const Clouseau_Object_Type *u = data; + int i; + + if (unknow) + *unknow = EINA_FALSE; + + for (i = 0; eet_props_mapping[i].name != NULL; ++i) + if (*u == eet_props_mapping[i].u) + return eet_props_mapping[i].name; + + if (unknow) + *unknow = EINA_TRUE; + + return NULL; +} + +static Eina_Bool +_clouseau_props_union_type_set(const char *type, void *data, Eina_Bool unknow) +{ /* same as _union_type_set */ + Clouseau_Object_Type *u = data; + int i; + + if (unknow) + return EINA_FALSE; + + for (i = 0; eet_props_mapping[i].name != NULL; ++i) + if (strcmp(eet_props_mapping[i].name, type) == 0) + { + *u = eet_props_mapping[i].u; + return EINA_TRUE; + } + + return EINA_FALSE; +} + +static void +_clouseau_elm_desc_make(void) +{ + Eet_Data_Descriptor_Class eddc; + + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Elm_Props); + clouseau_elm_edd = eet_data_descriptor_stream_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, + "type", type, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, + "style", style, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, + "scale", scale, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, + "has_focus", has_focus, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, + "is_disabled", is_disabled, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, + "is_mirrored", is_mirrored, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_elm_edd, Clouseau_Elm_Props, + "is_mirrored_automatic", is_mirrored_automatic, EET_T_UCHAR); +} + +static void +_clouseau_text_desc_make(void) +{ + Eet_Data_Descriptor_Class eddc; + + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Evas_Text_Props); + clouseau_text_edd = eet_data_descriptor_stream_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, + "font", font, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, + "size", size, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, + "source", source, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_text_edd, Clouseau_Evas_Text_Props, + "text", text, EET_T_STRING); +} + +static void +_clouseau_image_desc_make(void) +{ + Eet_Data_Descriptor_Class eddc; + + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Evas_Image_Props); + clouseau_image_edd = eet_data_descriptor_stream_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, + "file", file, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, + "key", key, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, + "source", source, EET_T_UINT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_image_edd, Clouseau_Evas_Image_Props, + "load_err", load_err, EET_T_STRING); +} + +static void +_clouseau_edje_desc_make(void) +{ + Eet_Data_Descriptor_Class eddc; + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Edje_Props); + clouseau_edje_edd = eet_data_descriptor_stream_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_edje_edd, Clouseau_Edje_Props, + "file", file, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_edje_edd, Clouseau_Edje_Props, + "group", group, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_edje_edd, Clouseau_Edje_Props, + "load_err", load_err, EET_T_STRING); +} + +static void +_clouseau_textblock_desc_make(void) +{ + Eet_Data_Descriptor_Class eddc; + + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Evas_Textblock_Props); + clouseau_textblock_edd = eet_data_descriptor_stream_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_textblock_edd, Clouseau_Evas_Textblock_Props, + "style", style, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_textblock_edd, Clouseau_Evas_Textblock_Props, + "text", text, EET_T_STRING); +} + +static void +_clouseau_map_point_props_desc_make(void) +{ + Eet_Data_Descriptor_Class eddc; + + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, + Clouseau_Evas_Map_Point_Props); + + clouseau_map_point_props_edd = eet_data_descriptor_stream_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_map_point_props_edd, + Clouseau_Evas_Map_Point_Props, "x", x, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_map_point_props_edd, + Clouseau_Evas_Map_Point_Props, "y", y, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_map_point_props_edd, + Clouseau_Evas_Map_Point_Props, "z", z, EET_T_INT); +} + + +void +clouseau_data_descriptors_legacy_init(void) +{ + Eet_Data_Descriptor_Class eddc; + + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Object); + clouseau_object_edd = eet_data_descriptor_stream_new(&eddc); + + /* START - evas_props Struct desc */ + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.name", evas_props.name, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.bt", evas_props.bt, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.layer", evas_props.layer, EET_T_SHORT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.x", evas_props.x, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.y", evas_props.y, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.w", evas_props.w, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.h", evas_props.h, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.scale", evas_props.scale, EET_T_DOUBLE); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.min_w", evas_props.min_w, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.min_h", evas_props.min_h, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.max_w", evas_props.max_w, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.max_h", evas_props.max_h, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.req_w", evas_props.req_w, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.req_h", evas_props.req_h, EET_T_INT); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.align_x", evas_props.align_x, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.align_y", evas_props.align_y, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.weight_x", evas_props.weight_x, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.weight_y", evas_props.weight_y, EET_T_DOUBLE); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.r", evas_props.r, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.g", evas_props.g, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.b", evas_props.b, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.a", evas_props.a, EET_T_INT); + + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.pass_events", evas_props.pass_events, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.repeat_events", evas_props.repeat_events, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.propagate_events", evas_props.propagate_events, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.has_focus", evas_props.has_focus, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.is_clipper", evas_props.is_clipper, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.is_visible", evas_props.is_visible, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.clipper", evas_props.clipper, EET_T_ULONG_LONG); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.mode", evas_props.mode, EET_T_INT); + + _clouseau_elm_desc_make(); + _clouseau_text_desc_make(); + _clouseau_image_desc_make(); + _clouseau_edje_desc_make(); + _clouseau_textblock_desc_make(); + + _clouseau_map_point_props_desc_make(); + EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(clouseau_object_edd, Clouseau_Object, + "evas_props.points", evas_props.points, + clouseau_map_point_props_edd); + + /* for union */ + EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Clouseau_Extra_Props); + eddc.func.type_get = _clouseau_props_union_type_get; + eddc.func.type_set = _clouseau_props_union_type_set; + clouseau_union_edd = eet_data_descriptor_file_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, + "CLOUSEAU_OBJ_TYPE_ELM", clouseau_elm_edd); + EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, + "CLOUSEAU_OBJ_TYPE_TEXT", + clouseau_text_edd); + EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, + "CLOUSEAU_OBJ_TYPE_IMAGE", + clouseau_image_edd); + EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, + "CLOUSEAU_OBJ_TYPE_EDJE", + clouseau_edje_edd); + EET_DATA_DESCRIPTOR_ADD_MAPPING(clouseau_union_edd, + "CLOUSEAU_OBJ_TYPE_TEXTBLOCK", + clouseau_textblock_edd); + + EET_DATA_DESCRIPTOR_ADD_UNION(clouseau_object_edd, Clouseau_Object, + "u", extra_props.u, + extra_props.type, clouseau_union_edd); +} + +void +clouseau_data_descriptors_legacy_shutdown(void) +{ + eet_data_descriptor_free(clouseau_object_edd); + eet_data_descriptor_free(clouseau_elm_edd); + eet_data_descriptor_free(clouseau_text_edd); + eet_data_descriptor_free(clouseau_image_edd); + eet_data_descriptor_free(clouseau_edje_edd); + eet_data_descriptor_free(clouseau_textblock_edd); + eet_data_descriptor_free(clouseau_union_edd); + eet_data_descriptor_free(clouseau_map_point_props_edd); +} + diff --git a/src/lib/clouseau_data_legacy.h b/src/lib/clouseau_data_legacy.h new file mode 100644 index 0000000..7749b7a --- /dev/null +++ b/src/lib/clouseau_data_legacy.h @@ -0,0 +1,11 @@ +#ifndef _CLOUSEAU_DATA_LEGACY_H +#define _CLOUSEAU_DATA_LEGACY_H + +#include "clouseau_private.h" + +extern Eet_Data_Descriptor *clouseau_object_edd; +extern Eet_Data_Descriptor *clouseau_union_edd; +void clouseau_data_descriptors_legacy_init(void); +void clouseau_data_descriptors_legacy_shutdown(void); + +#endif diff --git a/src/lib/clouseau_private2.h b/src/lib/clouseau_private2.h index 34873ad..26d65a0 100644 --- a/src/lib/clouseau_private2.h +++ b/src/lib/clouseau_private2.h @@ -155,7 +155,6 @@ struct _Clouseau_Tree_Item Eina_Bool is_visible; }; -Eet_Data_Descriptor *clouseau_object_desc_make(void); void clouseau_object_desc_shutdown(void); /* Public */