From a50edaf17b9f2eda6b2e73339a069c1158c160e4 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 22 Jan 2019 12:59:06 +0000 Subject: [PATCH] eina: refactor eina_value_*_new. Reviewed-by: Xavi Artigas Differential Revision: https://phab.enlightenment.org/D7701 --- doc/Doxyfile.in | 3 +- src/lib/eina/eina_inline_value_util.x | 301 +++----------------------- 2 files changed, 35 insertions(+), 269 deletions(-) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 436b84d475..8eb5b96096 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -1459,7 +1459,8 @@ PREDEFINED = EINA_MAGIC_DEBUG \ EXPAND_AS_DEFINED = EINA_VALUE_CONVERT \ EINA_VALUE_GET \ - EINA_VALUE_INIT + EINA_VALUE_INIT \ + EINA_VALUE_NEW # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all references to function-like macros diff --git a/src/lib/eina/eina_inline_value_util.x b/src/lib/eina/eina_inline_value_util.x index 6d8583da1c..09a7996087 100644 --- a/src/lib/eina/eina_inline_value_util.x +++ b/src/lib/eina/eina_inline_value_util.x @@ -131,277 +131,42 @@ eina_value_type_offset(const Eina_Value_Type *type, unsigned int base) return base + padding; } +/// @brief For internal use only. +/// @hideinitializer +#define EINA_VALUE_NEW(Compress_Type, Uppercase_Compress_Type, Type) \ /** - * @brief Create a new #Eina_Value containing the passed parameter - * @param c The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_uchar_new(unsigned char c) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_UCHAR); - if (v) eina_value_set(v, c); - return v; + @brief Create a new #Eina_Value containing the passed parameter + @param c The value to use + @return The #Eina_Value + @since 1.21 + */ \ +static inline Eina_Value * \ +eina_value_##Compress_Type##_new(Type c) \ +{ \ + Eina_Value *v; \ + \ + v = eina_value_new(EINA_VALUE_TYPE_##Uppercase_Compress_Type); \ + if (v) eina_value_set(v, c); \ + return v; \ } -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param s The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_ushort_new(unsigned short s) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_USHORT); - if (v) eina_value_set(v, s); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_uint_new(unsigned int i) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_UINT); - if (v) eina_value_set(v, i); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param l The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_ulong_new(unsigned long l) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_ULONG); - if (v) eina_value_set(v, l); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_uint64_new(uint64_t i) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_UINT64); - if (v) eina_value_set(v, i); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param c The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_char_new(char c) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_CHAR); - if (v) eina_value_set(v, c); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param s The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_short_new(short s) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_SHORT); - if (v) eina_value_set(v, s); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_int_new(int i) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_INT); - if (v) eina_value_set(v, i); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param l The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_long_new(long l) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_LONG); - if (v) eina_value_set(v, l); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_int64_new(int64_t i) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_INT64); - if (v) eina_value_set(v, i); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param f The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_float_new(float f) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_FLOAT); - if (v) eina_value_set(v, f); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param d The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_double_new(double d) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_DOUBLE); - if (v) eina_value_set(v, d); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param b The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_bool_new(Eina_Bool b) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_BOOL); - if (v) eina_value_set(v, b); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param str The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_string_new(const char *str) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_STRING); - if (v) eina_value_set(v, str); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param str The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_stringshare_new(const char *str) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_STRINGSHARE); - if (v) eina_value_set(v, str); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param t The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_time_new(time_t t) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_TIMESTAMP); - if (v) eina_value_set(v, t); - return v; -} - -/** - * @brief Create a new #Eina_Value containing the passed parameter - * @param err The error code - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value * -eina_value_error_new(Eina_Error err) -{ - Eina_Value *v; - - v = eina_value_new(EINA_VALUE_TYPE_ERROR); - if (v) eina_value_set(v, err); - return v; -} +EINA_VALUE_NEW(uchar, UCHAR, unsigned char); +EINA_VALUE_NEW(ushort, USHORT, unsigned short); +EINA_VALUE_NEW(uint, UINT, unsigned int); +EINA_VALUE_NEW(ulong, ULONG, unsigned long); +EINA_VALUE_NEW(uint64, UINT64, uint64_t); +EINA_VALUE_NEW(char, CHAR, char); +EINA_VALUE_NEW(short, SHORT, short); +EINA_VALUE_NEW(int, INT, int); +EINA_VALUE_NEW(long, LONG, long); +EINA_VALUE_NEW(int64, INT64, int64_t); +EINA_VALUE_NEW(float, FLOAT, float); +EINA_VALUE_NEW(double, DOUBLE, double); +EINA_VALUE_NEW(bool, BOOL, Eina_Bool); +EINA_VALUE_NEW(string, STRING, const char *); +EINA_VALUE_NEW(stringshare, STRINGSHARE, const char *); +EINA_VALUE_NEW(time, TIMESTAMP, time_t); +EINA_VALUE_NEW(error, ERROR, Eina_Error); /// @brief For internal use only. /// @hideinitializer