From 31da5242117dcfb237ec2c0221d105b6c9abc669 Mon Sep 17 00:00:00 2001 From: cedric Date: Fri, 10 Jun 2011 10:33:59 +0000 Subject: [PATCH] eet: add EET_DATA_DESCRIPTOR_ADD_LIST_STRING helper. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eet@60188 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- ChangeLog | 4 ++++ src/lib/Eet.h | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2d05c53..753de5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -505,3 +505,7 @@ 2011-05-23 Vincent Torri * Fix compilation with libjpeg 8 on Windows. + +2011-06-10 Cedric BAIL + + * Add EET_DATA_DESCRIPTOR_ADD_LIST_STRING helper to define List of char *. diff --git a/src/lib/Eet.h b/src/lib/Eet.h index df90423..1acea8c 100644 --- a/src/lib/Eet.h +++ b/src/lib/Eet.h @@ -2705,6 +2705,29 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd, } while (0) /** + * Add a linked list of string to a data descriptor + * @param edd The data descriptor to add the type to. + * @param struct_type The type of the struct. + * @param name The string name to use to encode/decode this member + * (must be a constant global and never change). + * @param member The struct member itself to be encoded. + * + * This macro lets you easily add a linked list of char *. All the + * parameters are the same as for EET_DATA_DESCRIPTOR_ADD_BASIC(). + * + * @since 1.5.0 + * @ingroup Eet_Data_Group + */ +#define EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd, struct_type, name, member) \ + do { \ + struct_type ___ett; \ + eet_data_descriptor_element_add(edd, name, EET_T_STRING, EET_G_LIST, \ + (char *)(& (___ett.member)) - \ + (char *)(& (___ett)), \ + 0, /* 0, */ NULL, NULL); \ + } while (0) + +/** * Add a hash type to a data descriptor * @param edd The data descriptor to add the type to. * @param struct_type The type of the struct. -- 2.7.4