_Eet_Data_Descriptor_Class Struct Reference
Instructs Eet about memory management for different needs under serialization and parse process. More...
Data Fields | |
int | version |
ABI version as EET_DATA_DESCRIPTOR_CLASS_VERSION. | |
const char * | name |
Name of data type to be serialized. | |
int | size |
Size in bytes of data type to be serialized. | |
void *(* | mem_alloc )(size_t size) |
how to allocate memory (usually malloc()) | |
void(* | mem_free )(void *mem) |
how to free memory (usually free()) | |
char *(* | str_alloc )(const char *str) |
how to allocate a string | |
void(* | str_free )(const char *str) |
how to free a string | |
void *(* | list_next )(void *l) |
how to iterate to the next element of a list. | |
void *(* | list_append )(void *l, void *d) |
how to append data d to list which head node is l | |
void *(* | list_data )(void *l) |
retrieves the data from node l | |
void *(* | list_free )(void *l) |
free all the nodes from the list which head node is l | |
void(* | hash_foreach )(void *h, int(*func)(void *h, const char *k, void *dt, void *fdt), void *fdt) |
iterates over all elements in the hash h in no specific order | |
void *(* | hash_add )(void *h, const char *k, void *d) |
add a new data d as key k in hash h | |
void(* | hash_free )(void *h) |
free all entries from the hash h | |
char *(* | str_direct_alloc )(const char *str) |
how to allocate a string directly from file backed/mmaped region pointed by str | |
void(* | str_direct_free )(const char *str) |
how to free a string returned by str_direct_alloc | |
const char *(* | type_get )(const void *data, Eina_Bool *unknow) |
convert any kind of data type to a name that define an Eet_Data_Element. | |
Eina_Bool(* | type_set )(const char *type, void *data, Eina_Bool unknow) |
set the type at a particular adress |
Detailed Description
Instructs Eet about memory management for different needs under serialization and parse process.
If using Eina data types, it is advised to use the helpers EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET() and EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET().
Field Documentation
void*(* _Eet_Data_Descriptor_Class::list_next)(void *l) |
how to iterate to the next element of a list.
Receives and should return the list node.
Referenced by eet_data_descriptor_new(), and eet_eina_stream_data_descriptor_class_set().
const char*(* _Eet_Data_Descriptor_Class::type_get)(const void *data, Eina_Bool *unknow) |
convert any kind of data type to a name that define an Eet_Data_Element.