typedefstruct_Elm_StoreElm_Store;/**< A store object */
typedefstruct_Elm_Store_ItemElm_Store_Item;/**< A handle of a sotre item passed to store fetch/unfetch functions */
typedefstruct_Elm_Store_Item_InfoElm_Store_Item_Info;/**< Basic information about a store item - always cast into a specific type like Elm_Store_Item_Info_Filesystem */
typedefstruct_Elm_Store_Item_Info_FilesystemElm_Store_Item_Info_Filesystem;/**< Filesystem specific information about a store item */
typedefstruct_Elm_Store_Item_MappingElm_Store_Item_Mapping;/**< A basic way of telling Store how to take your return data (string, or something else from your struct) and convert it into something genlist can use */
typedefstruct_Elm_Store_Item_Mapping_EmptyElm_Store_Item_Mapping_Empty;/**< An empty piece of mapping information. Useful for String labels as they get used directly */
typedefstruct_Elm_Store_Item_Mapping_IconElm_Store_Item_Mapping_Icon;/***< The data being mapped at the given address is an icon, so use these properties for finding it */
typedefstruct_Elm_Store_Item_Mapping_PhotoElm_Store_Item_Mapping_Photo;/**< The data is a photo, so use these parameters to find it */
typedefstruct_Elm_Store_Item_Mapping_CustomElm_Store_Item_Mapping_Custom;/**> The item needs a custom mappign which means calling a function and returning a string from it, as opposed to a static lookup. It should not be allocated, and should live in a buffer in memory that survives the return of this function if its a label, or an allocated icon object if its an icon needed etc. */
typedefEina_Bool(*Elm_Store_Item_List_Cb)(void*data,Elm_Store_Item_Info*info);/**< Function to call for listing an item */
typedefvoid(*Elm_Store_Item_Fetch_Cb)(void*data,Elm_Store_Item*sti);/**< Function to call to fetch item data */
typedefvoid(*Elm_Store_Item_Unfetch_Cb)(void*data,Elm_Store_Item*sti);/**< Function to cal lto un-fetch (free) an item */
typedefvoid*(*Elm_Store_Item_Mapping_Cb)(void*data,Elm_Store_Item*sti,constchar*part);/**< Custom mapping function to call */
Elm_Genlist_Item_Class*item_class;/**< The genlist item class that should be used for the item that has been listed */
constElm_Store_Item_Mapping*mapping;/**< What kind of mappings do we use for the fields of this item to fill in the genlist item. Terminate array pointed to here with ELM_STORE_ITEM_MAPPING_END */
void*data;/**< Pointer to pass to struct data in memory if its already there, of not, NULL */
char*sort_id;/**< Sort ID string (strduped()) to know how to wort items, or NULL, if you don't care */
#define ELM_STORE_ITEM_MAPPING_END { ELM_STORE_ITEM_MAPPING_NONE, NULL, 0, { .empty = { EINA_TRUE } } } /**< Use this to end a list of mappings */
#define ELM_STORE_ITEM_MAPPING_OFFSET(st, it) offsetof(st, it) /**< Use this to get the offset in bytes in memory for where the data for the mapping lives relative to the item data (a private struct pointed to owned by the user */