summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryce Harrington <bryce@osg.samsung.com>2017-11-13 12:04:59 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-11-13 12:04:59 +0900
commitdab3a6fca3732c14dec86c341948c0a24f0f1c68 (patch)
tree7c1f6ed28a8d145d94f9603d169d43e63e1bed79 /src
parentd0ded365e9d8b06c89c9f18f6a56709d705e62d6 (diff)
eina: Fix spelling/punctuation errors in documentation (thread..xattr)
Summary: Also makes some of the doxygen comment line spacing/formatting consistent. Interesting ref on grammar of 'an uniform' vs. 'a uniform': https://english.stackexchange.com/questions/4700/is-it-a-uniform-or-an-uniform It is AN honor to work with such A uniform language as English. *sigh* Reviewers: cedric, ajwillia.ms Subscribers: segfaultxavi, jpeg Differential Revision: https://phab.enlightenment.org/D5459
Diffstat (limited to 'src')
-rw-r--r--src/lib/eina/Eina.h2
-rw-r--r--src/lib/eina/eina_thread.h4
-rw-r--r--src/lib/eina/eina_thread_queue.h3
-rw-r--r--src/lib/eina/eina_tiler.h24
-rw-r--r--src/lib/eina/eina_tmpstr.h2
-rw-r--r--src/lib/eina/eina_types.h39
-rw-r--r--src/lib/eina/eina_unicode.h19
-rw-r--r--src/lib/eina/eina_ustrbuf.h8
-rw-r--r--src/lib/eina/eina_value.h165
-rw-r--r--src/lib/eina/eina_value_util.h4
-rw-r--r--src/lib/eina/eina_xattr.h8
11 files changed, 217 insertions, 61 deletions
diff --git a/src/lib/eina/Eina.h b/src/lib/eina/Eina.h
index 76b6d0adf6..7ed03e6673 100644
--- a/src/lib/eina/Eina.h
+++ b/src/lib/eina/Eina.h
@@ -142,7 +142,7 @@
142 * @ingroup Eina 142 * @ingroup Eina
143 * 143 *
144 * @defgroup Eina_Content_Access_Group Content Access 144 * @defgroup Eina_Content_Access_Group Content Access
145 * @brief Eina provides an uniform way to access elements of a container, 145 * @brief Eina provides a uniform way to access elements of a container,
146 * either sequential or indexed. 146 * either sequential or indexed.
147 * @ingroup Eina_Data_Types_Group 147 * @ingroup Eina_Data_Types_Group
148 * 148 *
diff --git a/src/lib/eina/eina_thread.h b/src/lib/eina/eina_thread.h
index 7f31d4a3e4..6ac5968749 100644
--- a/src/lib/eina/eina_thread.h
+++ b/src/lib/eina/eina_thread.h
@@ -34,7 +34,7 @@
34/** 34/**
35 * @defgroup Eina_Thread_Group Thread 35 * @defgroup Eina_Thread_Group Thread
36 * 36 *
37 * Abstracts platform threads, providing an uniform API. It's modelled 37 * Abstracts platform threads, providing a uniform API. It's modelled
38 * after POSIX THREADS (pthreads), on Linux they are almost 1:1 38 * after POSIX THREADS (pthreads), on Linux they are almost 1:1
39 * mapping. 39 * mapping.
40 * 40 *
@@ -305,7 +305,7 @@ typedef void *(*Eina_Thread_Cancellable_Run_Cb)(void *data);
305 * in the case the thread was already canceled and that was 305 * in the case the thread was already canceled and that was
306 * pending. 306 * pending.
307 * 307 *
308 * This helper does exactly the following code. Shall you need a 308 * This helper does exactly the following code. Should you need a
309 * slightly different behavior, use the base calls yourself. 309 * slightly different behavior, use the base calls yourself.
310 * 310 *
311 * @code 311 * @code
diff --git a/src/lib/eina/eina_thread_queue.h b/src/lib/eina/eina_thread_queue.h
index cff986da00..4009a0efb5 100644
--- a/src/lib/eina/eina_thread_queue.h
+++ b/src/lib/eina/eina_thread_queue.h
@@ -19,7 +19,7 @@
19 * designed with the idea of sending large volumes of messages with no 19 * designed with the idea of sending large volumes of messages with no
20 * copies from one thread to another (or from/to the mainloop). The idea 20 * copies from one thread to another (or from/to the mainloop). The idea
21 * is that a thread queue is created and then one or more threads send 21 * is that a thread queue is created and then one or more threads send
22 * messages in one end and fetch messages on the other end. If you set a 22 * messages in one end and fetch messages off the other end. If you set a
23 * parent message queue to 1 or more queues, then this parent will wake up 23 * parent message queue to 1 or more queues, then this parent will wake up
24 * with a sub queue message, indicating which child queue woke up. This can 24 * with a sub queue message, indicating which child queue woke up. This can
25 * be used to implement the ability to listen to multiple queues at once. 25 * be used to implement the ability to listen to multiple queues at once.
@@ -41,6 +41,7 @@ typedef struct _Eina_Thread_Queue Eina_Thread_Queue;
41 * @since 1.11 41 * @since 1.11
42 */ 42 */
43typedef struct _Eina_Thread_Queue_Msg Eina_Thread_Queue_Msg; 43typedef struct _Eina_Thread_Queue_Msg Eina_Thread_Queue_Msg;
44
44/** 45/**
45 * @typedef Eina_Thread_Queue_Msg_Sub 46 * @typedef Eina_Thread_Queue_Msg_Sub
46 * 47 *
diff --git a/src/lib/eina/eina_tiler.h b/src/lib/eina/eina_tiler.h
index 6c11a7949d..12ca23bc33 100644
--- a/src/lib/eina/eina_tiler.h
+++ b/src/lib/eina/eina_tiler.h
@@ -86,7 +86,7 @@
86/** 86/**
87 * @defgroup Eina_Tiler_Group Tiler 87 * @defgroup Eina_Tiler_Group Tiler
88 * 88 *
89 * @warning This is a very low level tool, in most situations(for example if 89 * @warning This is a very low level tool, in most situations (for example if
90 * you're using evas) you won't need this. 90 * you're using evas) you won't need this.
91 * 91 *
92 * @section basic Basic usage 92 * @section basic Basic usage
@@ -184,6 +184,7 @@ typedef struct _Eina_Tile_Grid_Slicer Eina_Tile_Grid_Slicer;
184 * @see eina_tiler_free() 184 * @see eina_tiler_free()
185 */ 185 */
186EAPI Eina_Tiler *eina_tiler_new(int w, int h); 186EAPI Eina_Tiler *eina_tiler_new(int w, int h);
187
187/** 188/**
188 * @brief Frees a tiler. 189 * @brief Frees a tiler.
189 * 190 *
@@ -193,6 +194,7 @@ EAPI Eina_Tiler *eina_tiler_new(int w, int h);
193 * elements of @p t. 194 * elements of @p t.
194 */ 195 */
195EAPI void eina_tiler_free(Eina_Tiler *t); 196EAPI void eina_tiler_free(Eina_Tiler *t);
197
196/** 198/**
197 * @brief Sets the size of tiles for a tiler. 199 * @brief Sets the size of tiles for a tiler.
198 * 200 *
@@ -246,7 +248,7 @@ EAPI void eina_tiler_strict_set(Eina_Tiler *t, Eina_Bool strict);
246 * @brief Tells if a tiler is empty or not. 248 * @brief Tells if a tiler is empty or not.
247 * 249 *
248 * @param t The tiler to apply the strict rules to. 250 * @param t The tiler to apply the strict rules to.
249 * @return EINA_TRUE when empty, EINA_FALSE when not. 251 * @return #EINA_TRUE when empty, #EINA_FALSE when not.
250 * 252 *
251 * @since 1.8 253 * @since 1.8
252 */ 254 */
@@ -262,6 +264,7 @@ EAPI Eina_Bool eina_tiler_empty(const Eina_Tiler *t);
262 * @see eina_tiler_rect_del() 264 * @see eina_tiler_rect_del()
263 */ 265 */
264EAPI Eina_Bool eina_tiler_rect_add(Eina_Tiler *t, const Eina_Rectangle *r); 266EAPI Eina_Bool eina_tiler_rect_add(Eina_Tiler *t, const Eina_Rectangle *r);
267
265/** 268/**
266 * @brief Removes a rectangle from a tiler. 269 * @brief Removes a rectangle from a tiler.
267 * 270 *
@@ -272,6 +275,7 @@ EAPI Eina_Bool eina_tiler_rect_add(Eina_Tiler *t, const Eina_Rectangle
272 * @see eina_tiler_clear() 275 * @see eina_tiler_clear()
273 */ 276 */
274EAPI void eina_tiler_rect_del(Eina_Tiler *t, const Eina_Rectangle *r); 277EAPI void eina_tiler_rect_del(Eina_Tiler *t, const Eina_Rectangle *r);
278
275/** 279/**
276 * @brief Removes all rectangles from tiles. 280 * @brief Removes all rectangles from tiles.
277 * 281 *
@@ -280,6 +284,7 @@ EAPI void eina_tiler_rect_del(Eina_Tiler *t, const Eina_Rectangle
280 * @see eina_tiler_rect_del() 284 * @see eina_tiler_rect_del()
281 */ 285 */
282EAPI void eina_tiler_clear(Eina_Tiler *t); 286EAPI void eina_tiler_clear(Eina_Tiler *t);
287
283/** 288/**
284 * @brief Creates a iterator to access the tilers calculated rectangles. 289 * @brief Creates a iterator to access the tilers calculated rectangles.
285 * 290 *
@@ -316,7 +321,7 @@ EAPI Eina_Iterator *eina_tile_grid_slicer_iterator_new(int x, int y, int w,
316 * @param src The second tiler. 321 * @param src The second tiler.
317 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 322 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
318 * 323 *
319 * This fuction get the union of tilers @p dst and @p src. 324 * This function gets the union of tilers @p dst and @p src.
320 * The result is stored in @p dst. It returns #EINA_TRUE if it succeeds. 325 * The result is stored in @p dst. It returns #EINA_TRUE if it succeeds.
321 * @since 1.11 326 * @since 1.11
322 */ 327 */
@@ -329,7 +334,7 @@ EAPI Eina_Bool eina_tiler_union(Eina_Tiler *dst, Eina_Tiler *src);
329 * @param src The second tiler. 334 * @param src The second tiler.
330 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 335 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
331 * 336 *
332 * This fuction subtracts two tilers @p dst and @p src. 337 * This function subtracts two tilers @p dst and @p src.
333 * The result is stored in @p dst. It returns #EINA_TRUE if it succeeds. 338 * The result is stored in @p dst. It returns #EINA_TRUE if it succeeds.
334 * @since 1.11 339 * @since 1.11
335 */ 340 */
@@ -342,7 +347,7 @@ EAPI Eina_Bool eina_tiler_subtract(Eina_Tiler *dst, Eina_Tiler *src);
342 * @param t2 The second tiler. 347 * @param t2 The second tiler.
343 * @return A pointer of intersection result. @c NULL if intersection doesn't exist. 348 * @return A pointer of intersection result. @c NULL if intersection doesn't exist.
344 * 349 *
345 * This fuction gest intersection of two tilers @p t1 and @p t2. 350 * This function gets the intersection of two tilers @p t1 and @p t2.
346 * It returns a pointer of result if intersection of two tilers exists., otherwise returns NULL. 351 * It returns a pointer of result if intersection of two tilers exists., otherwise returns NULL.
347 * @since 1.11 352 * @since 1.11
348 */ 353 */
@@ -353,9 +358,9 @@ EAPI Eina_Tiler *eina_tiler_intersection(Eina_Tiler *t1, Eina_Tiler *t2);
353 * 358 *
354 * @param t1 The first tiler. 359 * @param t1 The first tiler.
355 * @param t2 The second tiler. 360 * @param t2 The second tiler.
356 * @return #EINA_TRUE is equal, #EINA_FALSE is unequal. 361 * @return #EINA_TRUE is equal, #EINA_FALSE is inequal.
357 * 362 *
358 * This fuction gets result of comparison for @p t1 and @p t2. 363 * This function gets result of comparison for @p t1 and @p t2.
359 * It returns #EINA_TRUE if tilers are equal. 364 * It returns #EINA_TRUE if tilers are equal.
360 * @since 1.11 365 * @since 1.11
361 */ 366 */
@@ -367,7 +372,7 @@ EAPI Eina_Bool eina_tiler_equal(const Eina_Tiler *t1, const Eina_Tiler
367 * @param slc Pointer to an Eina_Tile_Grid_Slicer struct. 372 * @param slc Pointer to an Eina_Tile_Grid_Slicer struct.
368 * @param rect Pointer to a struct Eina_Tile_Grid_Info *. 373 * @param rect Pointer to a struct Eina_Tile_Grid_Info *.
369 * @return #EINA_TRUE if the current rect is valid. #EINA_FALSE if there 374 * @return #EINA_TRUE if the current rect is valid. #EINA_FALSE if there
370 * is no more rects to iterate over (and thus the current one isn't valid). 375 * are no more rects to iterate over (and thus the current one isn't valid).
371 * 376 *
372 * This functions iterates over each Eina_Tile_Grid_Info *rect of the grid. 377 * This functions iterates over each Eina_Tile_Grid_Info *rect of the grid.
373 * eina_tile_grid_slicer_setup() must be called first, and *rect is only valid 378 * eina_tile_grid_slicer_setup() must be called first, and *rect is only valid
@@ -376,6 +381,7 @@ EAPI Eina_Bool eina_tiler_equal(const Eina_Tiler *t1, const Eina_Tiler
376 * @note Consider using eina_tile_grid_slicer_iterator_new() instead. 381 * @note Consider using eina_tile_grid_slicer_iterator_new() instead.
377 */ 382 */
378static inline Eina_Bool eina_tile_grid_slicer_next(Eina_Tile_Grid_Slicer *slc, const Eina_Tile_Grid_Info **rect); 383static inline Eina_Bool eina_tile_grid_slicer_next(Eina_Tile_Grid_Slicer *slc, const Eina_Tile_Grid_Info **rect);
384
379/** 385/**
380 * @brief Sets up an Eina_Tile_Grid_Slicer struct. 386 * @brief Sets up an Eina_Tile_Grid_Slicer struct.
381 * 387 *
@@ -388,7 +394,7 @@ static inline Eina_Bool eina_tile_grid_slicer_next(Eina_Tile_Grid_Slicer *slc, c
388 * @param tile_h Tile height. 394 * @param tile_h Tile height.
389 * @return A pointer to the Eina_Iterator, @c NULL on failure. 395 * @return A pointer to the Eina_Iterator, @c NULL on failure.
390 * 396 *
391 * The region defined by @a x, @a y, @a w, @a h will be divided in to a grid of 397 * The region defined by @a x, @a y, @a w, @a h will be divided into a grid of
392 * tiles of width @a tile_w and height @p tile_h, @p slc can then be used with 398 * tiles of width @a tile_w and height @p tile_h, @p slc can then be used with
393 * eina_tile_grid_slicer_next() to access each tile. 399 * eina_tile_grid_slicer_next() to access each tile.
394 * 400 *
diff --git a/src/lib/eina/eina_tmpstr.h b/src/lib/eina/eina_tmpstr.h
index 5d7aebb968..f4df1984c7 100644
--- a/src/lib/eina/eina_tmpstr.h
+++ b/src/lib/eina/eina_tmpstr.h
@@ -123,7 +123,7 @@ typedef const char Eina_Tmpstr;
123/** 123/**
124 * @brief Adds a new temporary string based on the input string. 124 * @brief Adds a new temporary string based on the input string.
125 * 125 *
126 * @param str This is the input stringthat is copied into the temp string. 126 * @param str This is the input string that is copied into the temp string.
127 * @return A pointer to the tmp string that is a standard C string. 127 * @return A pointer to the tmp string that is a standard C string.
128 * 128 *
129 * When you add a temporary string (tmpstr) it is expected to have a very 129 * When you add a temporary string (tmpstr) it is expected to have a very
diff --git a/src/lib/eina/eina_types.h b/src/lib/eina/eina_types.h
index 4c272fd682..2370596e73 100644
--- a/src/lib/eina/eina_types.h
+++ b/src/lib/eina/eina_types.h
@@ -58,7 +58,7 @@
58# else 58# else
59/** 59/**
60 * @def EAPI 60 * @def EAPI
61 * @brief Used to export functions(by changing visibility). 61 * @brief Used to export functions (by changing visibility).
62 */ 62 */
63# define EAPI 63# define EAPI
64# endif 64# endif
@@ -83,7 +83,7 @@
83# else 83# else
84/** 84/**
85 * @def EAPI 85 * @def EAPI
86 * @brief Used to export functions(by changing visibility). 86 * @brief Used to export functions (by changing visibility).
87 */ 87 */
88# define EXPORTAPI 88# define EXPORTAPI
89# endif 89# endif
@@ -303,7 +303,7 @@
303 * @def EINA_ARG_NONNULL 303 * @def EINA_ARG_NONNULL
304 * Used to warn when the specified arguments of the function are @c NULL. 304 * Used to warn when the specified arguments of the function are @c NULL.
305 * 305 *
306 * @param ... Oridnals of the parameters to check for nullity (1..n) 306 * @param ... Ordinals of the parameters to check for nullity (1..n)
307 * 307 *
308 * @return Nothing, but Doxygen will complain if it's not documented :-P 308 * @return Nothing, but Doxygen will complain if it's not documented :-P
309 * 309 *
@@ -315,6 +315,7 @@
315 * Used to warn when the function is considered as deprecated. 315 * Used to warn when the function is considered as deprecated.
316 */ 316 */
317# define EINA_DEPRECATED 317# define EINA_DEPRECATED
318
318/** 319/**
319 * @def EINA_MALLOC 320 * @def EINA_MALLOC
320 * @brief EINA_MALLOC is used to tell the compiler that a function may be treated 321 * @brief EINA_MALLOC is used to tell the compiler that a function may be treated
@@ -322,54 +323,64 @@
322 * the function returns and that the memory has undefined content. 323 * the function returns and that the memory has undefined content.
323 */ 324 */
324# define EINA_MALLOC 325# define EINA_MALLOC
326
325/** 327/**
326 * @def EINA_PURE 328 * @def EINA_PURE
327 * @brief EINA_PURE is used to tell the compiler this functions has no effects 329 * @brief EINA_PURE is used to tell the compiler this function has no effect
328 * except the return value and their return value depends only on the parameters 330 * except the return value and its return value depends only on the parameters
329 * and/or global variables. 331 * and/or global variables.
330 */ 332 */
331# define EINA_PURE 333# define EINA_PURE
334
332/** 335/**
333 * @def EINA_PRINTF 336 * @def EINA_PRINTF
334 * @param fmt The format to be used. 337 * @param fmt The format to be used.
335 * @param arg The argument to be used. 338 * @param arg The argument to be used.
336 */ 339 */
337# define EINA_PRINTF(fmt, arg) 340# define EINA_PRINTF(fmt, arg)
341
338/** 342/**
339 * @def EINA_SCANF 343 * @def EINA_SCANF
340 * @param fmt The format to be used. 344 * @param fmt The format to be used.
341 * @param arg The argument to be used. 345 * @param arg The argument to be used.
342 */ 346 */
343# define EINA_SCANF(fmt, arg) 347# define EINA_SCANF(fmt, arg)
348
344/** 349/**
345 * @def EINA_FORMAT 350 * @def EINA_FORMAT
346 * @param fmt The format to be used. 351 * @param fmt The format to be used.
347 */ 352 */
348# define EINA_FORMAT(fmt) 353# define EINA_FORMAT(fmt)
354
349/** 355/**
350 * @def EINA_CONST 356 * @def EINA_CONST
351 * @brief Attribute from gcc to prevent the function to read/modify any global memory. 357 * @brief Attribute from gcc to prevent the function to read/modify any global memory.
352 */ 358 */
353# define EINA_CONST 359# define EINA_CONST
360
354/** 361/**
355 * @def EINA_NOINSTRUMENT 362 * @def EINA_NOINSTRUMENT
356 * @brief Attribute from gcc to disable instrumentation for a specific function. 363 * @brief Attribute from gcc to disable instrumentation for a specific function.
357 */ 364 */
358# define EINA_NOINSTRUMENT 365# define EINA_NOINSTRUMENT
366
359/** 367/**
360 * @def EINA_UNLIKELY 368 * @def EINA_UNLIKELY
361 * @param exp The expression to be used. 369 * @param exp The expression to be used.
362 */ 370 */
363# define EINA_UNLIKELY(exp) exp 371# define EINA_UNLIKELY(exp) exp
372
364/** 373/**
365 * @def EINA_LIKELY 374 * @def EINA_LIKELY
366 * @param exp The expression to be used. 375 * @param exp The expression to be used.
367 */ 376 */
368# define EINA_LIKELY(exp) exp 377# define EINA_LIKELY(exp) exp
378
369/** 379/**
370 * @def EINA_SENTINEL 380 * @def EINA_SENTINEL
371 * @brief Attribute from gcc to prevent calls without the necessary NULL 381 * @brief Attribute from gcc to prevent calls without the necessary NULL
372 * sentinel in certain variadic functions 382 * sentinel in certain variadic functions
383 *
373 * @since 1.7 384 * @since 1.7
374 */ 385 */
375# define EINA_SENTINEL 386# define EINA_SENTINEL
@@ -378,6 +389,7 @@
378 * @def EINA_FALLTHROUGH 389 * @def EINA_FALLTHROUGH
379 * @brief Attribute from gcc to prevent warning and indicate that we expect 390 * @brief Attribute from gcc to prevent warning and indicate that we expect
380 * to actually go to the next switch statement 391 * to actually go to the next switch statement
392 *
381 * @since 1.20 393 * @since 1.20
382 */ 394 */
383# define EINA_FALLTHROUGH 395# define EINA_FALLTHROUGH
@@ -385,11 +397,14 @@
385/** 397/**
386 * @def EINA_PREFETCH 398 * @def EINA_PREFETCH
387 * @brief Hints that the pointer @parg needs to be pre-fetched into cache 399 * @brief Hints that the pointer @parg needs to be pre-fetched into cache
400 *
388 * This hints to the compiler to probably issue a prefetch command for the 401 * This hints to the compiler to probably issue a prefetch command for the
389 * memory address @p arg and ensure it goes into all levels of cache. For 402 * memory address @p arg and ensure it goes into all levels of cache. For
390 * just writing to an address look at EINA_PREFETCH_WRITE(). 403 * just writing to an address look at EINA_PREFETCH_WRITE().
404 *
391 * Note that the pointer @p arg does not have to be a valid pointer and 405 * Note that the pointer @p arg does not have to be a valid pointer and
392 * will not cause any exceptions (like segfaults) if it is invalid. 406 * will not cause any exceptions (like segfaults) if it is invalid.
407 *
393 * @since 1.19 408 * @since 1.19
394 */ 409 */
395# define EINA_PREFETCH(arg) 410# define EINA_PREFETCH(arg)
@@ -397,12 +412,15 @@
397/** 412/**
398 * @def EINA_PREFETCH_WRITE 413 * @def EINA_PREFETCH_WRITE
399 * @brief Hints that the pointer @parg needs to be pre-fetched into cache 414 * @brief Hints that the pointer @parg needs to be pre-fetched into cache
415 *
400 * This hints to the compiler to probably issue a prefetch command for the 416 * This hints to the compiler to probably issue a prefetch command for the
401 * memory address @p arg and ensure it goes into all levels of cache. This 417 * memory address @p arg and ensure it goes into all levels of cache. This
402 * specifically indicates that the address is going to be written to as 418 * specifically indicates that the address is going to be written to as
403 * opposed to being read from as with EINA_PREFETCH(). 419 * opposed to being read from as with EINA_PREFETCH().
420 *
404 * Note that the pointer @p arg does not have to be a valid pointer and 421 * Note that the pointer @p arg does not have to be a valid pointer and
405 * will not cause any exceptions (like segfaults) if it is invalid. 422 * will not cause any exceptions (like segfaults) if it is invalid.
423 *
406 * @since 1.19 424 * @since 1.19
407 */ 425 */
408# define EINA_PREFETCH_WRITE(arg) 426# define EINA_PREFETCH_WRITE(arg)
@@ -410,23 +428,30 @@
410/** 428/**
411 * @def EINA_PREFETCH_NOCACHE 429 * @def EINA_PREFETCH_NOCACHE
412 * @brief Hints that the pointer @parg needs to be pre-fetched into cache 430 * @brief Hints that the pointer @parg needs to be pre-fetched into cache
431 *
413 * This hints to the compiler to probably issue a prefetch command for the 432 * This hints to the compiler to probably issue a prefetch command for the
414 * memory address @p arg and ensure it goes into just the closest(l1) cache. 433 * memory address @p arg and ensure it goes into just the closest(l1) cache.
415 * For just writing to an address look at EINA_PREFETCH_WRITE_NOCACHE(). 434 * For just writing to an address look at EINA_PREFETCH_WRITE_NOCACHE().
435 *
416 * Note that the pointer @p arg does not have to be a valid pointer and 436 * Note that the pointer @p arg does not have to be a valid pointer and
417 * will not cause any exceptions (like segfaults) if it is invalid. 437 * will not cause any exceptions (like segfaults) if it is invalid.
438 *
418 * @since 1.19 439 * @since 1.19
419 */ 440 */
420# define EINA_PREFETCH_NOCACHE(arg) 441# define EINA_PREFETCH_NOCACHE(arg)
442
421/** 443/**
422 * @def EINA_PREFETCH_WRITE_NOCACHE 444 * @def EINA_PREFETCH_WRITE_NOCACHE
445 *
423 * @brief Hints that the pointer @parg needs to be pre-fetched into cache 446 * @brief Hints that the pointer @parg needs to be pre-fetched into cache
447 *
424 * This hints to the compiler to probably issue a prefetch command for the 448 * This hints to the compiler to probably issue a prefetch command for the
425 * memory address @p arg and ensure it goes into just the closest(l1) cache. 449 * memory address @p arg and ensure it goes into just the closest(l1) cache.
426 * This specifically indicates that the address is going to be written to as 450 * This specifically indicates that the address is going to be written to as
427 * opposed to being read from as with EINA_PREFETCH_NOCACHE(). 451 * opposed to being read from as with EINA_PREFETCH_NOCACHE().
428 * Note that the pointer @p arg does not have to be a valid pointer and 452 * Note that the pointer @p arg does not have to be a valid pointer and
429 * will not cause any exceptions (like segfaults) if it is invalid. 453 * will not cause any exceptions (like segfaults) if it is invalid.
454 *
430 * @since 1.19 455 * @since 1.19
431 */ 456 */
432# define EINA_PREFETCH_NOCACHE_WRITE(arg) 457# define EINA_PREFETCH_NOCACHE_WRITE(arg)
@@ -514,9 +539,11 @@ typedef void (*Eina_Free_Cb)(void *data);
514/** 539/**
515 * @def EINA_C_ARRAY_LENGTH 540 * @def EINA_C_ARRAY_LENGTH
516 * Macro to return the array length of a standard c array. 541 * Macro to return the array length of a standard c array.
542 *
517 * For example: 543 * For example:
518 * int foo[] = { 0, 1, 2, 3 }; 544 * int foo[] = { 0, 1, 2, 3 };
519 * would return 4 and not 4 * sizeof(int). 545 * would return 4 and not 4 * sizeof(int).
546 *
520 * @since 1.2.0 547 * @since 1.2.0
521 */ 548 */
522#define EINA_C_ARRAY_LENGTH(arr) (sizeof(arr) / sizeof((arr)[0])) 549#define EINA_C_ARRAY_LENGTH(arr) (sizeof(arr) / sizeof((arr)[0]))
@@ -525,7 +552,7 @@ typedef void (*Eina_Free_Cb)(void *data);
525 * @def EINA_DOUBLE_EQUAL 552 * @def EINA_DOUBLE_EQUAL
526 * Macro to compare 2 double floating point values and deal with precision 553 * Macro to compare 2 double floating point values and deal with precision
527 * loss issues. 554 * loss issues.
528 * 555 *
529 * @since 1.18 556 * @since 1.18
530 */ 557 */
531#define EINA_DOUBLE_EQUAL(x, y) \ 558#define EINA_DOUBLE_EQUAL(x, y) \
diff --git a/src/lib/eina/eina_unicode.h b/src/lib/eina/eina_unicode.h
index d9b961bd4d..f33c171890 100644
--- a/src/lib/eina/eina_unicode.h
+++ b/src/lib/eina/eina_unicode.h
@@ -53,7 +53,6 @@ EAPI size_t eina_unicode_strlen(const Eina_Unicode *ustr) EINA_ARG_NONNUL
53 */ 53 */
54EAPI size_t eina_unicode_strnlen(const Eina_Unicode *ustr, int n) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_PURE; 54EAPI size_t eina_unicode_strnlen(const Eina_Unicode *ustr, int n) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_PURE;
55 55
56
57/** 56/**
58 * @brief Same as the standard strdup just with Eina_Unicode instead of char. 57 * @brief Same as the standard strdup just with Eina_Unicode instead of char.
59 * 58 *
@@ -62,7 +61,6 @@ EAPI size_t eina_unicode_strnlen(const Eina_Unicode *ustr, int n) EINA_AR
62 */ 61 */
63EAPI Eina_Unicode *eina_unicode_strdup(const Eina_Unicode *text) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; 62EAPI Eina_Unicode *eina_unicode_strdup(const Eina_Unicode *text) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
64 63
65
66/** 64/**
67 * @brief Same as strdup but cuts on the given size. Assumes n < len 65 * @brief Same as strdup but cuts on the given size. Assumes n < len
68 * 66 *
@@ -78,7 +76,6 @@ EAPI Eina_Unicode *eina_unicode_strdup(const Eina_Unicode *text) EINA_WARN_UNUSE
78 */ 76 */
79EAPI Eina_Unicode *eina_unicode_strndup(const Eina_Unicode *text, size_t n) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; 77EAPI Eina_Unicode *eina_unicode_strndup(const Eina_Unicode *text, size_t n) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
80 78
81
82/** 79/**
83 * @brief Same as the standard strcmp just with Eina_Unicode instead of char. 80 * @brief Same as the standard strcmp just with Eina_Unicode instead of char.
84 * 81 *
@@ -88,7 +85,6 @@ EAPI Eina_Unicode *eina_unicode_strndup(const Eina_Unicode *text, size_t n) EINA
88 */ 85 */
89EAPI int eina_unicode_strcmp(const Eina_Unicode *a, const Eina_Unicode *b) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE; 86EAPI int eina_unicode_strcmp(const Eina_Unicode *a, const Eina_Unicode *b) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
90 87
91
92/** 88/**
93 * @brief Same as the standard strcpy just with Eina_Unicode instead of char. 89 * @brief Same as the standard strcpy just with Eina_Unicode instead of char.
94 * 90 *
@@ -98,7 +94,6 @@ EAPI int eina_unicode_strcmp(const Eina_Unicode *a, const Eina_Unicode
98 */ 94 */
99EAPI Eina_Unicode *eina_unicode_strcpy(Eina_Unicode *dest, const Eina_Unicode *source) EINA_ARG_NONNULL(1, 2); 95EAPI Eina_Unicode *eina_unicode_strcpy(Eina_Unicode *dest, const Eina_Unicode *source) EINA_ARG_NONNULL(1, 2);
100 96
101
102/** 97/**
103 * @brief Same as the standard strstr just with Eina_Unicode instead of char. 98 * @brief Same as the standard strstr just with Eina_Unicode instead of char.
104 * 99 *
@@ -109,7 +104,6 @@ EAPI Eina_Unicode *eina_unicode_strcpy(Eina_Unicode *dest, const Eina_Unicode *s
109 */ 104 */
110EAPI Eina_Unicode *eina_unicode_strstr(const Eina_Unicode *haystack, const Eina_Unicode *needle) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE; 105EAPI Eina_Unicode *eina_unicode_strstr(const Eina_Unicode *haystack, const Eina_Unicode *needle) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
111 106
112
113/** 107/**
114 * @brief Same as the standard strncpy just with Eina_Unicode instead of char. 108 * @brief Same as the standard strncpy just with Eina_Unicode instead of char.
115 * 109 *
@@ -120,7 +114,6 @@ EAPI Eina_Unicode *eina_unicode_strstr(const Eina_Unicode *haystack, const Eina_
120 */ 114 */
121EAPI Eina_Unicode *eina_unicode_strncpy(Eina_Unicode *dest, const Eina_Unicode *source, size_t n) EINA_ARG_NONNULL(1, 2); 115EAPI Eina_Unicode *eina_unicode_strncpy(Eina_Unicode *dest, const Eina_Unicode *source, size_t n) EINA_ARG_NONNULL(1, 2);
122 116
123
124/** 117/**
125 * @see eina_str_escape() 118 * @see eina_str_escape()
126 * 119 *
@@ -131,18 +124,19 @@ EAPI Eina_Unicode *eina_unicode_escape(const Eina_Unicode *str) EINA_ARG_NONNULL
131 124
132/* UTF-8 Handling */ 125/* UTF-8 Handling */
133 126
134
135/** 127/**
136 * Reads UTF8 bytes from @p buf, starting at @p iindex and returns 128 * Reads UTF8 bytes from @p buf, starting at @p iindex and returns
137 * the decoded code point at @p iindex offset, and advances @p iindex 129 * the decoded code point at @p iindex offset, and advances @p iindex
138 * to the next code point after this. @p iindex is always advanced, 130 * to the next code point after this. @p iindex is always advanced,
139 * unless if the advancement is after the @c NULL. 131 * unless if the advancement is after the @c NULL.
132 *
140 * On error: return a codepoint between DC80 to DCFF where the low 8 bits 133 * On error: return a codepoint between DC80 to DCFF where the low 8 bits
141 * are the byte's value. 134 * are the byte's value.
142 * 135 *
143 * @param buf the string 136 * @param buf the string
144 * @param iindex the index to look at and return by. 137 * @param iindex the index to look at and return by.
145 * @return the codepoint found, 0 if @p buf or @p iindex are NULL 138 * @return the codepoint found, 0 if @p buf or @p iindex are NULL
139 *
146 * @since 1.8.0 140 * @since 1.8.0
147 */ 141 */
148static inline Eina_Unicode eina_unicode_utf8_next_get(const char *buf, int *iindex) EINA_ARG_NONNULL(1, 2); 142static inline Eina_Unicode eina_unicode_utf8_next_get(const char *buf, int *iindex) EINA_ARG_NONNULL(1, 2);
@@ -153,27 +147,31 @@ static inline Eina_Unicode eina_unicode_utf8_next_get(const char *buf, int *iind
153 * the decoded code point at @p iindex offset, and advances @p iindex 147 * the decoded code point at @p iindex offset, and advances @p iindex
154 * to the next code point after this. @p iindex is always advanced, 148 * to the next code point after this. @p iindex is always advanced,
155 * unless if the advancement is after the @c NULL. 149 * unless if the advancement is after the @c NULL.
150 *
156 * On error: return a codepoint between DC80 to DCFF where the low 8 bits 151 * On error: return a codepoint between DC80 to DCFF where the low 8 bits
157 * are the byte's value. 152 * are the byte's value.
158 * 153 *
159 * @param buf the string 154 * @param buf the string
160 * @param iindex the index to look at and return by. 155 * @param iindex the index to look at and return by.
161 * @return the codepoint found, 0 if @p buf or @p iindex are NULL 156 * @return the codepoint found, 0 if @p buf or @p iindex are NULL
157 *
162 * @since 1.1.0 158 * @since 1.1.0
163 */ 159 */
164EAPI Eina_Unicode eina_unicode_utf8_get_next(const char *buf, int *iindex) EINA_ARG_NONNULL(1, 2) EINA_DEPRECATED; 160EAPI Eina_Unicode eina_unicode_utf8_get_next(const char *buf, int *iindex) EINA_ARG_NONNULL(1, 2) EINA_DEPRECATED;
165 161
166/** 162/**
167 * Reads UTF8 bytes from @p buf, starting at @p iindex and returns 163 * Reads UTF8 bytes from @p buf, starting at @p iindex and returns
168 * the decoded code point at @p iindex offset, and moves àp iindex 164 * the decoded code point at @p iindex offset, and moves @p iindex
169 * to the previous code point. @p iindex is always moved, as long 165 * to the previous code point. @p iindex is always moved, as long
170 * as it's not past the start of the string. 166 * as it's not past the start of the string.
167 *
171 * On error: return a codepoint between DC80 to DCFF where the low 8 bits 168 * On error: return a codepoint between DC80 to DCFF where the low 8 bits
172 * are the byte's value. 169 * are the byte's value.
173 * 170 *
174 * @param buf the string 171 * @param buf the string
175 * @param iindex the index to look at and return by. 172 * @param iindex the index to look at and return by.
176 * @return the codepoint found. 173 * @return the codepoint found.
174 *
177 * @since 1.1.0 175 * @since 1.1.0
178 */ 176 */
179EAPI Eina_Unicode eina_unicode_utf8_get_prev(const char *buf, int *iindex) EINA_ARG_NONNULL(1, 2); 177EAPI Eina_Unicode eina_unicode_utf8_get_prev(const char *buf, int *iindex) EINA_ARG_NONNULL(1, 2);
@@ -185,6 +183,7 @@ EAPI Eina_Unicode eina_unicode_utf8_get_prev(const char *buf, int *iindex) EINA_
185 * 183 *
186 * @param buf the string 184 * @param buf the string
187 * @return the number of unicode characters (not bytes) in the string 185 * @return the number of unicode characters (not bytes) in the string
186 *
188 * @since 1.1.0 187 * @since 1.1.0
189 */ 188 */
190EAPI int eina_unicode_utf8_get_len(const char *buf) EINA_ARG_NONNULL(1); 189EAPI int eina_unicode_utf8_get_len(const char *buf) EINA_ARG_NONNULL(1);
@@ -206,6 +205,7 @@ EAPI Eina_Unicode *eina_unicode_utf8_to_unicode(const char *utf, int *_len) EINA
206 * @param ulen the length in the unicode string to convert. 205 * @param ulen the length in the unicode string to convert.
207 * @param _len the length byte length of the return utf8 substring. 206 * @param _len the length byte length of the return utf8 substring.
208 * @return the newly allocated utf-8 substring. 207 * @return the newly allocated utf-8 substring.
208 *
209 * @since 1.17 209 * @since 1.17
210 */ 210 */
211EAPI char * eina_unicode_unicode_to_utf8_range(const Eina_Unicode *uni, int ulen, int *_len) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; 211EAPI char * eina_unicode_unicode_to_utf8_range(const Eina_Unicode *uni, int ulen, int *_len) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
@@ -216,6 +216,7 @@ EAPI char * eina_unicode_unicode_to_utf8_range(const Eina_Unicode *uni, int ulen
216 * @param uni the Eina_Unicode string 216 * @param uni the Eina_Unicode string
217 * @param _len the length byte length of the return utf8 string. 217 * @param _len the length byte length of the return utf8 string.
218 * @return the newly allocated utf-8 string. 218 * @return the newly allocated utf-8 string.
219 *
219 * @since 1.1.0 220 * @since 1.1.0
220 */ 221 */
221EAPI char * eina_unicode_unicode_to_utf8(const Eina_Unicode *uni, int *_len) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; 222EAPI char * eina_unicode_unicode_to_utf8(const Eina_Unicode *uni, int *_len) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
diff --git a/src/lib/eina/eina_ustrbuf.h b/src/lib/eina/eina_ustrbuf.h
index 5ce2237258..f3ea97d931 100644
--- a/src/lib/eina/eina_ustrbuf.h
+++ b/src/lib/eina/eina_ustrbuf.h
@@ -50,7 +50,7 @@ EAPI Eina_UStrbuf *eina_ustrbuf_new(void) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
50/** 50/**
51 * @brief Creates a new string buffer using the passed string. The passed 51 * @brief Creates a new string buffer using the passed string. The passed
52 * string is used directly as the buffer, it's somehow the opposite function of 52 * string is used directly as the buffer, it's somehow the opposite function of
53 * @ref eina_ustrbuf_string_steal . The passed string must be malloced. 53 * @ref eina_ustrbuf_string_steal . The passed string must be malloc'd.
54 * 54 *
55 * @param str The string to manage 55 * @param str The string to manage
56 * @return Newly allocated string buffer instance 56 * @return Newly allocated string buffer instance
@@ -68,7 +68,7 @@ EAPI Eina_UStrbuf *eina_ustrbuf_manage_new(Eina_Unicode *str) EINA_MALLOC EINA_W
68/** 68/**
69 * @brief Creates a new string buffer using the passed string. The passed 69 * @brief Creates a new string buffer using the passed string. The passed
70 * string is used directly as the buffer, it's somehow the opposite function of 70 * string is used directly as the buffer, it's somehow the opposite function of
71 * @ref eina_ustrbuf_string_steal . The passed string must be malloced. 71 * @ref eina_ustrbuf_string_steal . The passed string must be malloc'd.
72 * 72 *
73 * @param str The string to manage 73 * @param str The string to manage
74 * @param length The length of the string. 74 * @param length The length of the string.
@@ -143,7 +143,7 @@ EAPI Eina_Bool eina_ustrbuf_append_escaped(Eina_UStrbuf *buf, const Eina_Unicode
143 * @return #EINA_TRUE on success, #EINA_FALSE on failure. 143 * @return #EINA_TRUE on success, #EINA_FALSE on failure.
144 * 144 *
145 * This function appends at most @p maxlen characters of @p str to 145 * This function appends at most @p maxlen characters of @p str to
146 * @p buf. It can't appends more than the length of @p str. It 146 * @p buf. It can't append more than the length of @p str. It
147 * computes the length of @p str, so is slightly slower than 147 * computes the length of @p str, so is slightly slower than
148 * eina_ustrbuf_append_length(). If the length is known beforehand, 148 * eina_ustrbuf_append_length(). If the length is known beforehand,
149 * consider using that variant (@p maxlen should then be checked so 149 * consider using that variant (@p maxlen should then be checked so
@@ -316,7 +316,7 @@ EAPI Eina_Bool eina_ustrbuf_insert_char(Eina_UStrbuf *buf, Eina_Unicode c, size_
316 * @param str The string to prepend. 316 * @param str The string to prepend.
317 * @return #EINA_TRUE on success, #EINA_FALSE on failure. 317 * @return #EINA_TRUE on success, #EINA_FALSE on failure.
318 * 318 *
319 * This macro is calling eina_ustrbuf_insert() at position 0.If @p buf 319 * This macro is calling eina_ustrbuf_insert() at position 0. If @p buf
320 * can't prepend it, #EINA_FALSE is returned, otherwise #EINA_TRUE is 320 * can't prepend it, #EINA_FALSE is returned, otherwise #EINA_TRUE is
321 * returned. 321 * returned.
322 */ 322 */
diff --git a/src/lib/eina/eina_value.h b/src/lib/eina/eina_value.h
index 31f4359e25..032ac0bbb8 100644
--- a/src/lib/eina/eina_value.h
+++ b/src/lib/eina/eina_value.h
@@ -59,11 +59,11 @@
59 * 59 *
60 * Just because we stored a string doesn't mean we can't use the @c 60 * Just because we stored a string doesn't mean we can't use the @c
61 * eina_value_to_string() function, we can and it's important to note that it 61 * eina_value_to_string() function, we can and it's important to note that it
62 * will return not the stored string but rather a copy of it(one we have to 62 * will return not the stored string but rather a copy of it (one we have to
63 * free): 63 * free):
64 * @until eina_value_flush 64 * @until eina_value_flush
65 * 65 *
66 * And now to explore conversions between two type we'll create another value: 66 * And now to explore conversions between two types we'll create another value:
67 * @until eina_value_setup 67 * @until eina_value_setup
68 * 68 *
69 * And make sure @c v and @c others have different types: 69 * And make sure @c v and @c others have different types:
@@ -280,8 +280,8 @@
280 * Abstracts generic data storage and access to it in an extensible 280 * Abstracts generic data storage and access to it in an extensible
281 * and efficient way. 281 * and efficient way.
282 * 282 *
283 * It comes with pre-defined types for numbers, array, list, hash, 283 * It comes with pre-defined types for numbers, arrays, lists, hashes,
284 * blob and structs. It is able to convert between data types, 284 * blobs and structs. It is able to convert between data types,
285 * including to string. 285 * including to string.
286 * 286 *
287 * It is meant for simple data types, providing uniform access and 287 * It is meant for simple data types, providing uniform access and
@@ -690,9 +690,9 @@ EAPI Eina_Value *eina_value_new(const Eina_Value_Type *type) EINA_ARG_NONNULL(1)
690 */ 690 */
691EAPI void eina_value_free(Eina_Value *value); 691EAPI void eina_value_free(Eina_Value *value);
692 692
693
694/** 693/**
695 * @brief Initializes generic value storage. 694 * @brief Initializes generic value storage.
695 *
696 * @param value Value object 696 * @param value Value object
697 * @param type How to manage this value. 697 * @param type How to manage this value.
698 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 698 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -717,6 +717,7 @@ static inline Eina_Bool eina_value_setup(Eina_Value *value,
717 717
718/** 718/**
719 * @brief Creates generic value storage. 719 * @brief Creates generic value storage.
720 *
720 * @param value Value object 721 * @param value Value object
721 * 722 *
722 * Releases all the resources associated with an #Eina_Value. The 723 * Releases all the resources associated with an #Eina_Value. The
@@ -735,6 +736,7 @@ static inline void eina_value_flush(Eina_Value *value) EINA_ARG_NONNULL(1);
735 736
736/** 737/**
737 * @brief Copies generic value storage. 738 * @brief Copies generic value storage.
739 *
738 * @param value Source value object 740 * @param value Source value object
739 * @param copy Destination value object 741 * @param copy Destination value object
740 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 742 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -765,6 +767,7 @@ static inline int eina_value_compare(const Eina_Value *a,
765 767
766/** 768/**
767 * @brief Sets the generic value. 769 * @brief Sets the generic value.
770 *
768 * @param value Source value object 771 * @param value Source value object
769 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 772 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
770 * 773 *
@@ -824,6 +827,7 @@ static inline Eina_Bool eina_value_set(Eina_Value *value,
824 827
825/** 828/**
826 * @brief Gets the generic value. 829 * @brief Gets the generic value.
830 *
827 * @param value Source value object 831 * @param value Source value object
828 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 832 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
829 * 833 *
@@ -891,6 +895,7 @@ static inline Eina_Bool eina_value_get(const Eina_Value *value,
891 895
892/** 896/**
893 * @brief Sets the generic value. 897 * @brief Sets the generic value.
898 *
894 * @param value Source value object 899 * @param value Source value object
895 * @param args Variable argument 900 * @param args Variable argument
896 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 901 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -910,6 +915,7 @@ static inline Eina_Bool eina_value_vset(Eina_Value *value,
910 915
911/** 916/**
912 * @brief Gets the generic value. 917 * @brief Gets the generic value.
918 *
913 * @param value Source value object 919 * @param value Source value object
914 * @param args Variable argument 920 * @param args Variable argument
915 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 921 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -998,6 +1004,7 @@ static inline Eina_Bool eina_value_pset(Eina_Value *value,
998 1004
999/** 1005/**
1000 * @brief Gets the generic value to pointer. 1006 * @brief Gets the generic value to pointer.
1007 *
1001 * @param value Source value object 1008 * @param value Source value object
1002 * @param ptr Pointer to receive the contents. 1009 * @param ptr Pointer to receive the contents.
1003 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1010 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -1066,6 +1073,7 @@ static inline Eina_Bool eina_value_pget(const Eina_Value *value,
1066 1073
1067/** 1074/**
1068 * @brief Converts one value to another type. 1075 * @brief Converts one value to another type.
1076 *
1069 * @param value Source value object. 1077 * @param value Source value object.
1070 * @param convert Destination value object. 1078 * @param convert Destination value object.
1071 * @return #EINA_TRUE if converted, #EINA_FALSE otherwise. 1079 * @return #EINA_TRUE if converted, #EINA_FALSE otherwise.
@@ -1406,6 +1414,7 @@ static inline Eina_Bool eina_value_array_insert(Eina_Value *value,
1406 1414
1407/** 1415/**
1408 * @brief Appends a generic value in an array. 1416 * @brief Appends a generic value in an array.
1417 *
1409 * @param value Source value object 1418 * @param value Source value object
1410 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1419 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
1411 * 1420 *
@@ -1462,10 +1471,12 @@ static inline Eina_Bool eina_value_array_append(Eina_Value *value,
1462 1471
1463/** 1472/**
1464 * @brief Sets a generic value to an array member. 1473 * @brief Sets a generic value to an array member.
1474 *
1465 * @param value Source value object 1475 * @param value Source value object
1466 * @param position Index of the member 1476 * @param position Index of the member
1467 * @param args Variable argument 1477 * @param args Variable argument
1468 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1478 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
1479 *
1469 * @see eina_value_array_set() 1480 * @see eina_value_array_set()
1470 * @see eina_value_array_get() 1481 * @see eina_value_array_get()
1471 * @see eina_value_array_pset() 1482 * @see eina_value_array_pset()
@@ -1484,6 +1495,7 @@ static inline Eina_Bool eina_value_array_vset(Eina_Value *value,
1484 1495
1485/** 1496/**
1486 * @brief Gets the generic value from an array member. 1497 * @brief Gets the generic value from an array member.
1498 *
1487 * @param value Source value object 1499 * @param value Source value object
1488 * @param position Index of the member 1500 * @param position Index of the member
1489 * @param args Variable argument 1501 * @param args Variable argument
@@ -1505,10 +1517,12 @@ static inline Eina_Bool eina_value_array_vget(const Eina_Value *value,
1505 va_list args) EINA_ARG_NONNULL(1); 1517 va_list args) EINA_ARG_NONNULL(1);
1506/** 1518/**
1507 * @brief Inserts a generic value to an array member position. 1519 * @brief Inserts a generic value to an array member position.
1520 *
1508 * @param value Source value object 1521 * @param value Source value object
1509 * @param position Index of the member 1522 * @param position Index of the member
1510 * @param args Variable argument 1523 * @param args Variable argument
1511 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1524 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
1525 *
1512 * @see eina_value_array_set() 1526 * @see eina_value_array_set()
1513 * @see eina_value_array_get() 1527 * @see eina_value_array_get()
1514 * @see eina_value_array_vset() 1528 * @see eina_value_array_vset()
@@ -1527,9 +1541,11 @@ static inline Eina_Bool eina_value_array_vinsert(Eina_Value *value,
1527 1541
1528/** 1542/**
1529 * @brief Appends a generic value to an array. 1543 * @brief Appends a generic value to an array.
1544 *
1530 * @param value Source value object 1545 * @param value Source value object
1531 * @param args Variable argument 1546 * @param args Variable argument
1532 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1547 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
1548 *
1533 * @see eina_value_array_set() 1549 * @see eina_value_array_set()
1534 * @see eina_value_array_get() 1550 * @see eina_value_array_get()
1535 * @see eina_value_array_vget() 1551 * @see eina_value_array_vget()
@@ -1548,6 +1564,7 @@ static inline Eina_Bool eina_value_array_vappend(Eina_Value *value,
1548 1564
1549/** 1565/**
1550 * @brief Sets a generic value to an array member from a pointer. 1566 * @brief Sets a generic value to an array member from a pointer.
1567 *
1551 * @param value Source value object 1568 * @param value Source value object
1552 * @param position Index of the member 1569 * @param position Index of the member
1553 * @param ptr Pointer to specify the contents. 1570 * @param ptr Pointer to specify the contents.
@@ -1611,6 +1628,7 @@ static inline Eina_Bool eina_value_array_pset(Eina_Value *value,
1611 1628
1612/** 1629/**
1613 * @brief Retrieves a generic value into a pointer from an array member. 1630 * @brief Retrieves a generic value into a pointer from an array member.
1631 *
1614 * @param value Source value object 1632 * @param value Source value object
1615 * @param position Index of the member 1633 * @param position Index of the member
1616 * @param ptr Pointer to receive the contents. 1634 * @param ptr Pointer to receive the contents.
@@ -1669,6 +1687,7 @@ static inline Eina_Bool eina_value_array_pget(const Eina_Value *value,
1669 1687
1670/** 1688/**
1671 * @brief Inserts a generic value to an array member position from a pointer. 1689 * @brief Inserts a generic value to an array member position from a pointer.
1690 *
1672 * @param value Source value object 1691 * @param value Source value object
1673 * @param position Index of the member 1692 * @param position Index of the member
1674 * @param ptr Pointer to specify the contents. 1693 * @param ptr Pointer to specify the contents.
@@ -1791,12 +1810,13 @@ static inline Eina_Bool eina_value_array_pappend(Eina_Value *value,
1791 1810
1792/** 1811/**
1793 * @brief Retrieves a value from the array as an Eina_Value copy. 1812 * @brief Retrieves a value from the array as an Eina_Value copy.
1813 *
1794 * @param src Source value object 1814 * @param src Source value object
1795 * @param position Index of the member 1815 * @param position Index of the member
1796 * @param dst Where to return the array member 1816 * @param dst Where to return the array member
1797 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1817 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
1798 * 1818 *
1799 * The argument @a dst is considered uninitialized and it's setup to 1819 * The argument @a dst is considered uninitialized and it's set to
1800 * the type of the member. 1820 * the type of the member.
1801 * 1821 *
1802 * @since 1.2 1822 * @since 1.2
@@ -1885,6 +1905,7 @@ struct _Eina_Value_List
1885 1905
1886/** 1906/**
1887 * @brief Creates generic value storage of type list. 1907 * @brief Creates generic value storage of type list.
1908 *
1888 * @param subtype How to manage this list members. 1909 * @param subtype How to manage this list members.
1889 * @return The new value, or @c NULL on failure. 1910 * @return The new value, or @c NULL on failure.
1890 * 1911 *
@@ -1905,6 +1926,7 @@ EAPI Eina_Value *eina_value_list_new(const Eina_Value_Type *subtype) EINA_ARG_NO
1905 1926
1906/** 1927/**
1907 * @brief Initializes generic value storage of type list. 1928 * @brief Initializes generic value storage of type list.
1929 *
1908 * @param value Value object 1930 * @param value Value object
1909 * @param subtype How to manage this list members. 1931 * @param subtype How to manage this list members.
1910 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1932 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -1930,24 +1952,29 @@ static inline Eina_Bool eina_value_list_setup(Eina_Value *value,
1930 1952
1931/** 1953/**
1932 * @brief Queries number of elements in value of list type. 1954 * @brief Queries number of elements in value of list type.
1955 *
1933 * @param value value object. 1956 * @param value value object.
1934 * @return number of child elements. 1957 * @return number of child elements.
1958 *
1935 * @since 1.2 1959 * @since 1.2
1936 */ 1960 */
1937static inline unsigned int eina_value_list_count(const Eina_Value *value); 1961static inline unsigned int eina_value_list_count(const Eina_Value *value);
1938 1962
1939/** 1963/**
1940 * @brief Removes element at given position in value of list type. 1964 * @brief Removes element at given position in value of list type.
1965 *
1941 * @param value value object. 1966 * @param value value object.
1942 * @param position index of the member 1967 * @param position index of the member
1943 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1968 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
1969 *
1944 * @since 1.2 1970 * @since 1.2
1945 */ 1971 */
1946static inline Eina_Bool eina_value_list_remove(Eina_Value *value, 1972static inline Eina_Bool eina_value_list_remove(Eina_Value *value,
1947 unsigned int position) EINA_ARG_NONNULL(1); 1973 unsigned int position) EINA_ARG_NONNULL(1);
1948 1974
1949/** 1975/**
1950 * @brief Sets the generic value in an list member. 1976 * @brief Sets the generic value in a list member.
1977 *
1951 * @param value Source value object 1978 * @param value Source value object
1952 * @param position Index of the member 1979 * @param position Index of the member
1953 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 1980 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -2005,7 +2032,8 @@ static inline Eina_Bool eina_value_list_set(Eina_Value *value,
2005 ...) EINA_ARG_NONNULL(1); 2032 ...) EINA_ARG_NONNULL(1);
2006 2033
2007/** 2034/**
2008 * @brief Gets the generic value from an list member. 2035 * @brief Gets the generic value from a list member.
2036 *
2009 * @param value Source value object 2037 * @param value Source value object
2010 * @param position Index of the member 2038 * @param position Index of the member
2011 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2039 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -2061,7 +2089,8 @@ static inline Eina_Bool eina_value_list_get(const Eina_Value *value,
2061 ...) EINA_ARG_NONNULL(1); 2089 ...) EINA_ARG_NONNULL(1);
2062 2090
2063/** 2091/**
2064 * @brief Inserts the generic value in an list member position. 2092 * @brief Inserts the generic value in a list member position.
2093 *
2065 * @param value Source value object 2094 * @param value Source value object
2066 * @param position Index of the member 2095 * @param position Index of the member
2067 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2096 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -2119,7 +2148,8 @@ static inline Eina_Bool eina_value_list_insert(Eina_Value *value,
2119 2148
2120 2149
2121/** 2150/**
2122 * @brief Appends the generic value in an list. 2151 * @brief Appends the generic value in a list.
2152 *
2123 * @param value Source value object 2153 * @param value Source value object
2124 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2154 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
2125 * 2155 *
@@ -2174,11 +2204,13 @@ static inline Eina_Bool eina_value_list_append(Eina_Value *value,
2174 ...) EINA_ARG_NONNULL(1); 2204 ...) EINA_ARG_NONNULL(1);
2175 2205
2176/** 2206/**
2177 * @brief Sets the generic value in an list member. 2207 * @brief Sets the generic value in a list member.
2208 *
2178 * @param value Source value object 2209 * @param value Source value object
2179 * @param position Index of the member 2210 * @param position Index of the member
2180 * @param args Variable argument 2211 * @param args Variable argument
2181 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2212 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
2213 *
2182 * @see eina_value_list_set() 2214 * @see eina_value_list_set()
2183 * @see eina_value_list_get() 2215 * @see eina_value_list_get()
2184 * @see eina_value_list_pset() 2216 * @see eina_value_list_pset()
@@ -2196,7 +2228,8 @@ static inline Eina_Bool eina_value_list_vset(Eina_Value *value,
2196 va_list args) EINA_ARG_NONNULL(1); 2228 va_list args) EINA_ARG_NONNULL(1);
2197 2229
2198/** 2230/**
2199 * @brief Gets the generic value from an list member. 2231 * @brief Gets the generic value from a list member.
2232 *
2200 * @param value Source value object 2233 * @param value Source value object
2201 * @param position Index of the member 2234 * @param position Index of the member
2202 * @param args Variable argument 2235 * @param args Variable argument
@@ -2217,11 +2250,13 @@ static inline Eina_Bool eina_value_list_vget(const Eina_Value *value,
2217 unsigned int position, 2250 unsigned int position,
2218 va_list args) EINA_ARG_NONNULL(1); 2251 va_list args) EINA_ARG_NONNULL(1);
2219/** 2252/**
2220 * @brief Inserts the generic value in an list member position. 2253 * @brief Inserts the generic value in a list member position.
2254 *
2221 * @param value Source value object 2255 * @param value Source value object
2222 * @param position Index of the member 2256 * @param position Index of the member
2223 * @param args Variable argument 2257 * @param args Variable argument
2224 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2258 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
2259 *
2225 * @see eina_value_list_set() 2260 * @see eina_value_list_set()
2226 * @see eina_value_list_get() 2261 * @see eina_value_list_get()
2227 * @see eina_value_list_vset() 2262 * @see eina_value_list_vset()
@@ -2239,10 +2274,12 @@ static inline Eina_Bool eina_value_list_vinsert(Eina_Value *value,
2239 va_list args) EINA_ARG_NONNULL(1); 2274 va_list args) EINA_ARG_NONNULL(1);
2240 2275
2241/** 2276/**
2242 * @brief Appends the generic value in an list. 2277 * @brief Appends the generic value in a list.
2278 *
2243 * @param value Source value object 2279 * @param value Source value object
2244 * @param args Variable argument 2280 * @param args Variable argument
2245 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2281 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
2282 *
2246 * @see eina_value_list_set() 2283 * @see eina_value_list_set()
2247 * @see eina_value_list_get() 2284 * @see eina_value_list_get()
2248 * @see eina_value_list_vget() 2285 * @see eina_value_list_vget()
@@ -2260,7 +2297,8 @@ static inline Eina_Bool eina_value_list_vappend(Eina_Value *value,
2260 2297
2261 2298
2262/** 2299/**
2263 * @brief Sets the generic value in an list member from pointer. 2300 * @brief Sets the generic value in a list member from pointer.
2301 *
2264 * @param value Source value object 2302 * @param value Source value object
2265 * @param position Index of the member 2303 * @param position Index of the member
2266 * @param ptr Pointer to specify the contents. 2304 * @param ptr Pointer to specify the contents.
@@ -2322,7 +2360,8 @@ static inline Eina_Bool eina_value_list_pset(Eina_Value *value,
2322 const void *ptr) EINA_ARG_NONNULL(1, 3); 2360 const void *ptr) EINA_ARG_NONNULL(1, 3);
2323 2361
2324/** 2362/**
2325 * @brief Gets the generic value to pointer from an list member. 2363 * @brief Gets the generic value to pointer from a list member.
2364 *
2326 * @param value Source value object 2365 * @param value Source value object
2327 * @param position Index of the member 2366 * @param position Index of the member
2328 * @param ptr Pointer to receive the contents. 2367 * @param ptr Pointer to receive the contents.
@@ -2379,7 +2418,8 @@ static inline Eina_Bool eina_value_list_pget(const Eina_Value *value,
2379 void *ptr) EINA_ARG_NONNULL(1, 3); 2418 void *ptr) EINA_ARG_NONNULL(1, 3);
2380 2419
2381/** 2420/**
2382 * @brief Inserts the generic value in an list member position from pointer. 2421 * @brief Inserts the generic value in a list member position from pointer.
2422 *
2383 * @param value Source value object 2423 * @param value Source value object
2384 * @param position Index of the member 2424 * @param position Index of the member
2385 * @param ptr Pointer to specify the contents. 2425 * @param ptr Pointer to specify the contents.
@@ -2440,7 +2480,8 @@ static inline Eina_Bool eina_value_list_pinsert(Eina_Value *value,
2440 const void *ptr) EINA_ARG_NONNULL(1); 2480 const void *ptr) EINA_ARG_NONNULL(1);
2441 2481
2442/** 2482/**
2443 * @brief Appends the generic value in an list from pointer. 2483 * @brief Appends the generic value in a list from pointer.
2484 *
2444 * @param value Source value object 2485 * @param value Source value object
2445 * @param ptr Pointer to specify the contents. 2486 * @param ptr Pointer to specify the contents.
2446 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2487 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -2531,12 +2572,13 @@ struct _Eina_Value_Hash
2531 2572
2532/** 2573/**
2533 * @brief Creates generic value storage of type hash. 2574 * @brief Creates generic value storage of type hash.
2575 *
2534 * @param subtype How to manage this hash members. 2576 * @param subtype How to manage this hash members.
2535 * @param buckets_power_size How to allocate hash buckets (2 ^ 2577 * @param buckets_power_size How to allocate hash buckets (2 ^
2536 * buckets_power_size), if zero then a sane value is chosen. 2578 * buckets_power_size), if zero then a sane value is chosen.
2537 * @return The new value, or @c NULL on failure. 2579 * @return The new value, or @c NULL on failure.
2538 * 2580 *
2539 * Create a new generic value storage of type hash. The members are 2581 * Creates a new generic value storage of type hash. The members are
2540 * managed using the description specified by @a subtype. 2582 * managed using the description specified by @a subtype.
2541 * 2583 *
2542 * On failure, @c NULL is returned. 2584 * On failure, @c NULL is returned.
@@ -2553,6 +2595,7 @@ EAPI Eina_Value *eina_value_hash_new(const Eina_Value_Type *subtype, unsigned in
2553 2595
2554/** 2596/**
2555 * @brief Initializes generic value storage of type hash. 2597 * @brief Initializes generic value storage of type hash.
2598 *
2556 * @param value Value object 2599 * @param value Value object
2557 * @param subtype How to manage this hash members. 2600 * @param subtype How to manage this hash members.
2558 * @param buckets_power_size How to allocate hash buckets (2 ^ 2601 * @param buckets_power_size How to allocate hash buckets (2 ^
@@ -2581,17 +2624,21 @@ static inline Eina_Bool eina_value_hash_setup(Eina_Value *value,
2581 2624
2582/** 2625/**
2583 * @brief Queries number of elements in value of hash type. 2626 * @brief Queries number of elements in value of hash type.
2627 *
2584 * @param value value object. 2628 * @param value value object.
2585 * @return number of child elements. 2629 * @return number of child elements.
2630 *
2586 * @since 1.2 2631 * @since 1.2
2587 */ 2632 */
2588static inline unsigned int eina_value_hash_population(const Eina_Value *value); 2633static inline unsigned int eina_value_hash_population(const Eina_Value *value);
2589 2634
2590/** 2635/**
2591 * @brief Removes element at given position in value of hash type. 2636 * @brief Removes element at given position in value of hash type.
2637 *
2592 * @param value value object. 2638 * @param value value object.
2593 * @param key key to find the member 2639 * @param key key to find the member
2594 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2640 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
2641 *
2595 * @since 1.2 2642 * @since 1.2
2596 */ 2643 */
2597static inline Eina_Bool eina_value_hash_del(Eina_Value *value, 2644static inline Eina_Bool eina_value_hash_del(Eina_Value *value,
@@ -2599,6 +2646,7 @@ static inline Eina_Bool eina_value_hash_del(Eina_Value *value,
2599 2646
2600/** 2647/**
2601 * @brief Sets the generic value in an hash member. 2648 * @brief Sets the generic value in an hash member.
2649 *
2602 * @param value Source value object 2650 * @param value Source value object
2603 * @param key Key to find the member 2651 * @param key Key to find the member
2604 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2652 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -2650,6 +2698,7 @@ static inline Eina_Bool eina_value_hash_set(Eina_Value *value,
2650 2698
2651/** 2699/**
2652 * @brief Gets the generic value from an hash member. 2700 * @brief Gets the generic value from an hash member.
2701 *
2653 * @param value Source value object 2702 * @param value Source value object
2654 * @param key Key to find the member 2703 * @param key Key to find the member
2655 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2704 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -2705,10 +2754,12 @@ static inline Eina_Bool eina_value_hash_get(const Eina_Value *value,
2705 2754
2706/** 2755/**
2707 * @brief Sets the generic value in an hash member. 2756 * @brief Sets the generic value in an hash member.
2757 *
2708 * @param value Source value object 2758 * @param value Source value object
2709 * @param key Key to find the member 2759 * @param key Key to find the member
2710 * @param args Variable argument 2760 * @param args Variable argument
2711 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 2761 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
2762 *
2712 * @see eina_value_hash_set() 2763 * @see eina_value_hash_set()
2713 * @see eina_value_hash_get() 2764 * @see eina_value_hash_get()
2714 * @see eina_value_hash_pset() 2765 * @see eina_value_hash_pset()
@@ -2721,6 +2772,7 @@ static inline Eina_Bool eina_value_hash_vset(Eina_Value *value,
2721 2772
2722/** 2773/**
2723 * @brief Gets the generic value from an hash member. 2774 * @brief Gets the generic value from an hash member.
2775 *
2724 * @param value Source value object 2776 * @param value Source value object
2725 * @param key Key to find the member 2777 * @param key Key to find the member
2726 * @param args Variable argument 2778 * @param args Variable argument
@@ -2743,6 +2795,7 @@ static inline Eina_Bool eina_value_hash_vget(const Eina_Value *value,
2743 2795
2744/** 2796/**
2745 * @brief Sets the generic value in an hash member from pointer. 2797 * @brief Sets the generic value in an hash member from pointer.
2798 *
2746 * @param value Source value object 2799 * @param value Source value object
2747 * @param key Key to find the member 2800 * @param key Key to find the member
2748 * @param ptr Pointer to specify the contents. 2801 * @param ptr Pointer to specify the contents.
@@ -2797,6 +2850,7 @@ static inline Eina_Bool eina_value_hash_pset(Eina_Value *value,
2797 2850
2798/** 2851/**
2799 * @brief Gets the generic value to pointer from an hash member. 2852 * @brief Gets the generic value to pointer from an hash member.
2853 *
2800 * @param value Source value object 2854 * @param value Source value object
2801 * @param key Key to find the member 2855 * @param key Key to find the member
2802 * @param ptr Pointer to receive the contents. 2856 * @param ptr Pointer to receive the contents.
@@ -2865,6 +2919,7 @@ static inline Eina_Bool eina_value_hash_pget(const Eina_Value *value,
2865 * @typedef Eina_Value_Blob_Operations 2919 * @typedef Eina_Value_Blob_Operations
2866 * How to manage blob. Any @c NULL callback is ignored. 2920 * How to manage blob. Any @c NULL callback is ignored.
2867 * @see #_Eina_Value_Blob_Operations explains fields. 2921 * @see #_Eina_Value_Blob_Operations explains fields.
2922 *
2868 * @since 1.2 2923 * @since 1.2
2869 */ 2924 */
2870typedef struct _Eina_Value_Blob_Operations Eina_Value_Blob_Operations; 2925typedef struct _Eina_Value_Blob_Operations Eina_Value_Blob_Operations;
@@ -2878,6 +2933,7 @@ typedef struct _Eina_Value_Blob_Operations Eina_Value_Blob_Operations;
2878/** 2933/**
2879 * @struct _Eina_Value_Blob_Operations 2934 * @struct _Eina_Value_Blob_Operations
2880 * How to manage blob. Any @c NULL callback is ignored. 2935 * How to manage blob. Any @c NULL callback is ignored.
2936 *
2881 * @since 1.2 2937 * @since 1.2
2882 */ 2938 */
2883struct _Eina_Value_Blob_Operations 2939struct _Eina_Value_Blob_Operations
@@ -2905,6 +2961,7 @@ EAPI extern const Eina_Value_Blob_Operations *EINA_VALUE_BLOB_OPERATIONS_MALLOC;
2905 * Value type for #EINA_VALUE_TYPE_BLOB. 2961 * Value type for #EINA_VALUE_TYPE_BLOB.
2906 * 2962 *
2907 * @see #_Eina_Value_Blob explains fields. 2963 * @see #_Eina_Value_Blob explains fields.
2964 *
2908 * @since 1.2 2965 * @since 1.2
2909 */ 2966 */
2910typedef struct _Eina_Value_Blob Eina_Value_Blob; 2967typedef struct _Eina_Value_Blob Eina_Value_Blob;
@@ -2912,6 +2969,7 @@ typedef struct _Eina_Value_Blob Eina_Value_Blob;
2912/** 2969/**
2913 * @struct _Eina_Value_Blob 2970 * @struct _Eina_Value_Blob
2914 * Used to store the blob information and management operations. 2971 * Used to store the blob information and management operations.
2972 *
2915 * @since 1.2 2973 * @since 1.2
2916 */ 2974 */
2917struct _Eina_Value_Blob 2975struct _Eina_Value_Blob
@@ -2952,6 +3010,7 @@ typedef struct _Eina_Value_Struct_Operations Eina_Value_Struct_Operations;
2952 * parameter, as in eina_value_struct_set(). 3010 * parameter, as in eina_value_struct_set().
2953 * 3011 *
2954 * @see #_Eina_Value_Struct_Member explains fields. 3012 * @see #_Eina_Value_Struct_Member explains fields.
3013 *
2955 * @since 1.2 3014 * @since 1.2
2956 */ 3015 */
2957typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member; 3016typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member;
@@ -2960,6 +3019,7 @@ typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member;
2960 * @typedef Eina_Value_Struct_Desc 3019 * @typedef Eina_Value_Struct_Desc
2961 * Describes the struct by listing its size, members and operations. 3020 * Describes the struct by listing its size, members and operations.
2962 * @see #_Eina_Value_Struct_Desc explains fields. 3021 * @see #_Eina_Value_Struct_Desc explains fields.
3022 *
2963 * @since 1.2 3023 * @since 1.2
2964 */ 3024 */
2965typedef struct _Eina_Value_Struct_Desc Eina_Value_Struct_Desc; 3025typedef struct _Eina_Value_Struct_Desc Eina_Value_Struct_Desc;
@@ -2969,6 +3029,7 @@ typedef struct _Eina_Value_Struct_Desc Eina_Value_Struct_Desc;
2969 * Value type for #EINA_VALUE_TYPE_STRUCT. 3029 * Value type for #EINA_VALUE_TYPE_STRUCT.
2970 * 3030 *
2971 * @see #_Eina_Value_Struct explains fields. 3031 * @see #_Eina_Value_Struct explains fields.
3032 *
2972 * @since 1.2 3033 * @since 1.2
2973 */ 3034 */
2974typedef struct _Eina_Value_Struct Eina_Value_Struct; 3035typedef struct _Eina_Value_Struct Eina_Value_Struct;
@@ -2982,6 +3043,7 @@ typedef struct _Eina_Value_Struct Eina_Value_Struct;
2982/** 3043/**
2983 * @struct _Eina_Value_Struct_Operations 3044 * @struct _Eina_Value_Struct_Operations
2984 * How to manage struct. Any @c NULL callback is ignored. 3045 * How to manage struct. Any @c NULL callback is ignored.
3046 *
2985 * @since 1.2 3047 * @since 1.2
2986 */ 3048 */
2987struct _Eina_Value_Struct_Operations 3049struct _Eina_Value_Struct_Operations
@@ -3128,6 +3190,7 @@ struct _Eina_Value_Struct
3128 3190
3129/** 3191/**
3130 * @brief Creates generic value storage of type struct. 3192 * @brief Creates generic value storage of type struct.
3193 *
3131 * @param desc How to manage this struct members. 3194 * @param desc How to manage this struct members.
3132 * @return The new value, or @c NULL on failure. 3195 * @return The new value, or @c NULL on failure.
3133 * 3196 *
@@ -3148,6 +3211,7 @@ EAPI Eina_Value *eina_value_struct_new(const Eina_Value_Struct_Desc *desc) EINA_
3148 3211
3149/** 3212/**
3150 * @brief Initializes generic value storage of type struct. 3213 * @brief Initializes generic value storage of type struct.
3214 *
3151 * @param value Value object 3215 * @param value Value object
3152 * @param desc How to manage this struct members. 3216 * @param desc How to manage this struct members.
3153 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3217 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -3173,6 +3237,7 @@ static inline Eina_Bool eina_value_struct_setup(Eina_Value *value,
3173 3237
3174/** 3238/**
3175 * @brief Checks for a struct and get its description. 3239 * @brief Checks for a struct and get its description.
3240 *
3176 * @param value Value object 3241 * @param value Value object
3177 * @return structure description, with all members and size. 3242 * @return structure description, with all members and size.
3178 * on failure, #NULL is returned. 3243 * on failure, #NULL is returned.
@@ -3182,7 +3247,8 @@ static inline Eina_Bool eina_value_struct_setup(Eina_Value *value,
3182static inline const Eina_Value_Struct_Desc *eina_value_struct_desc_get(const Eina_Value *value) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; 3247static inline const Eina_Value_Struct_Desc *eina_value_struct_desc_get(const Eina_Value *value) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
3183 3248
3184/** 3249/**
3185 * @brief Sets the generic value in an struct member. 3250 * @brief Sets the generic value in a struct member.
3251 *
3186 * @param value Source value object 3252 * @param value Source value object
3187 * @param name Name to find the member 3253 * @param name Name to find the member
3188 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3254 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -3248,7 +3314,8 @@ static inline Eina_Bool eina_value_struct_set(Eina_Value *value,
3248 ...) EINA_ARG_NONNULL(1, 2); 3314 ...) EINA_ARG_NONNULL(1, 2);
3249 3315
3250/** 3316/**
3251 * @brief Gets the generic value from an struct member. 3317 * @brief Gets the generic value from a struct member.
3318 *
3252 * @param value Source value object 3319 * @param value Source value object
3253 * @param name Name to find the member 3320 * @param name Name to find the member
3254 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3321 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
@@ -3319,11 +3386,13 @@ static inline Eina_Bool eina_value_struct_get(const Eina_Value *value,
3319 ...) EINA_ARG_NONNULL(1, 2); 3386 ...) EINA_ARG_NONNULL(1, 2);
3320 3387
3321/** 3388/**
3322 * @brief Sets the generic value in an struct member. 3389 * @brief Sets the generic value in a struct member.
3390 *
3323 * @param value Source value object 3391 * @param value Source value object
3324 * @param name Name to find the member 3392 * @param name Name to find the member
3325 * @param args Variable argument 3393 * @param args Variable argument
3326 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3394 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3395 *
3327 * @see eina_value_struct_set() 3396 * @see eina_value_struct_set()
3328 * @see eina_value_struct_get() 3397 * @see eina_value_struct_get()
3329 * @see eina_value_struct_pset() 3398 * @see eina_value_struct_pset()
@@ -3335,7 +3404,8 @@ static inline Eina_Bool eina_value_struct_vset(Eina_Value *value,
3335 va_list args) EINA_ARG_NONNULL(1, 2); 3404 va_list args) EINA_ARG_NONNULL(1, 2);
3336 3405
3337/** 3406/**
3338 * @brief Gets the generic value from an struct member. 3407 * @brief Gets the generic value from a struct member.
3408 *
3339 * @param value Source value object 3409 * @param value Source value object
3340 * @param name Name to find the member 3410 * @param name Name to find the member
3341 * @param args Variable argument 3411 * @param args Variable argument
@@ -3357,7 +3427,8 @@ static inline Eina_Bool eina_value_struct_vget(const Eina_Value *value,
3357 va_list args) EINA_ARG_NONNULL(1, 2); 3427 va_list args) EINA_ARG_NONNULL(1, 2);
3358 3428
3359/** 3429/**
3360 * @brief Sets the generic value in an struct member from pointer. 3430 * @brief Sets the generic value in a struct member from pointer.
3431 *
3361 * @param value Source value object 3432 * @param value Source value object
3362 * @param name Name to find the member 3433 * @param name Name to find the member
3363 * @param ptr Pointer to specify the contents. 3434 * @param ptr Pointer to specify the contents.
@@ -3387,7 +3458,7 @@ static inline Eina_Bool eina_value_struct_vget(const Eina_Value *value,
3387 * @li EINA_VALUE_TYPE_BLOB: Eina_Value_Blob* 3458 * @li EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
3388 * @li EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct* 3459 * @li EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
3389 * @li EINA_VALUE_TYPE_TM: struct tm* 3460 * @li EINA_VALUE_TYPE_TM: struct tm*
3390 * 3461 *
3391 * @note the pointer contents are written using the size defined by 3462 * @note the pointer contents are written using the size defined by
3392 * type. It can be larger than void* or uint64_t. 3463 * type. It can be larger than void* or uint64_t.
3393 * 3464 *
@@ -3427,7 +3498,8 @@ static inline Eina_Bool eina_value_struct_pset(Eina_Value *value,
3427 const void *ptr) EINA_ARG_NONNULL(1, 2, 3); 3498 const void *ptr) EINA_ARG_NONNULL(1, 2, 3);
3428 3499
3429/** 3500/**
3430 * @brief Gets the generic value to pointer from an struct member. 3501 * @brief Gets the generic value to pointer from a struct member.
3502 *
3431 * @param value Source value object 3503 * @param value Source value object
3432 * @param name Name to find the member 3504 * @param name Name to find the member
3433 * @param ptr Pointer to receive the contents. 3505 * @param ptr Pointer to receive the contents.
@@ -3500,9 +3572,10 @@ static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value,
3500 3572
3501/** 3573/**
3502 * @brief Gets the member as Eina_Value copy 3574 * @brief Gets the member as Eina_Value copy
3575 *
3503 * @param src Source value object 3576 * @param src Source value object
3504 * @param name Name to find the member 3577 * @param name Name to find the member
3505 * @param dst Shere to return the member value. 3578 * @param dst Where to return the member value.
3506 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3579 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3507 * 3580 *
3508 * The argument @a dst is considered uninitialized and it's setup to 3581 * The argument @a dst is considered uninitialized and it's setup to
@@ -3516,6 +3589,7 @@ static inline Eina_Bool eina_value_struct_value_get(const Eina_Value *src,
3516 3589
3517/** 3590/**
3518 * @brief Sets the member from Eina_Value source. 3591 * @brief Sets the member from Eina_Value source.
3592 *
3519 * @param dst destination value object 3593 * @param dst destination value object
3520 * @param name name to find the member 3594 * @param name name to find the member
3521 * @param src source value 3595 * @param src source value
@@ -3529,6 +3603,7 @@ static inline Eina_Bool eina_value_struct_value_set(Eina_Value *dst,
3529 3603
3530/** 3604/**
3531 * @brief Gets the member as Eina_Value copy given its member description. 3605 * @brief Gets the member as Eina_Value copy given its member description.
3606 *
3532 * @param src Source value object 3607 * @param src Source value object
3533 * @param member The member description to use 3608 * @param member The member description to use
3534 * @param dst Where to return the member value. 3609 * @param dst Where to return the member value.
@@ -3545,6 +3620,7 @@ static inline Eina_Bool eina_value_struct_member_value_get(const Eina_Value *src
3545 3620
3546/** 3621/**
3547 * @brief Sets the member from Eina_Value source. 3622 * @brief Sets the member from Eina_Value source.
3623 *
3548 * @param dst destination value object 3624 * @param dst destination value object
3549 * @param member the member description to use 3625 * @param member the member description to use
3550 * @param src source value 3626 * @param src source value
@@ -3598,14 +3674,17 @@ struct _Eina_Value_Type
3598 3674
3599/** 3675/**
3600 * @brief Queries type name. 3676 * @brief Queries type name.
3677 *
3601 * @param type type reference. 3678 * @param type type reference.
3602 * @return string or @c NULL if type is invalid. 3679 * @return string or @c NULL if type is invalid.
3680 *
3603 * @since 1.2 3681 * @since 1.2
3604 */ 3682 */
3605EAPI const char *eina_value_type_name_get(const Eina_Value_Type *type) EINA_PURE EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; 3683EAPI const char *eina_value_type_name_get(const Eina_Value_Type *type) EINA_PURE EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
3606 3684
3607/** 3685/**
3608 * @brief Checks if type is valid. 3686 * @brief Checks if type is valid.
3687 *
3609 * @param type Type reference. 3688 * @param type Type reference.
3610 * @return #EINA_TRUE if valid, #EINA_FALSE otherwise. 3689 * @return #EINA_TRUE if valid, #EINA_FALSE otherwise.
3611 * 3690 *
@@ -3618,90 +3697,108 @@ EAPI Eina_Bool eina_value_type_check(const Eina_Value_Type *type) EINA_PURE EINA
3618 3697
3619/** 3698/**
3620 * @brief Initializes memory using type descriptor. 3699 * @brief Initializes memory using type descriptor.
3700 *
3621 * @param type type reference. 3701 * @param type type reference.
3622 * @param mem memory to operate, must be of size @c type->value_size. 3702 * @param mem memory to operate, must be of size @c type->value_size.
3623 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3703 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3704 *
3624 * @since 1.2 3705 * @since 1.2
3625 */ 3706 */
3626static inline Eina_Bool eina_value_type_setup(const Eina_Value_Type *type, void *mem); 3707static inline Eina_Bool eina_value_type_setup(const Eina_Value_Type *type, void *mem);
3627 3708
3628/** 3709/**
3629 * @brief Flushes (clears) memory using type descriptor. 3710 * @brief Flushes (clears) memory using type descriptor.
3711 *
3630 * @param type type reference. 3712 * @param type type reference.
3631 * @param mem memory to operate, must be of size @c type->value_size. 3713 * @param mem memory to operate, must be of size @c type->value_size.
3632 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3714 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3715 *
3633 * @since 1.2 3716 * @since 1.2
3634 */ 3717 */
3635static inline Eina_Bool eina_value_type_flush(const Eina_Value_Type *type, void *mem); 3718static inline Eina_Bool eina_value_type_flush(const Eina_Value_Type *type, void *mem);
3636 3719
3637/** 3720/**
3638 * @brief Copies memory using type descriptor. 3721 * @brief Copies memory using type descriptor.
3722 *
3639 * @param type type reference. 3723 * @param type type reference.
3640 * @param src memory to operate, must be of size @c type->value_size. 3724 * @param src memory to operate, must be of size @c type->value_size.
3641 * @param dst memory to operate, must be of size @c type->value_size. 3725 * @param dst memory to operate, must be of size @c type->value_size.
3642 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3726 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3727 *
3643 * @since 1.2 3728 * @since 1.2
3644 */ 3729 */
3645static inline Eina_Bool eina_value_type_copy(const Eina_Value_Type *type, const void *src, void *dst); 3730static inline Eina_Bool eina_value_type_copy(const Eina_Value_Type *type, const void *src, void *dst);
3646 3731
3647/** 3732/**
3648 * @brief Compares memory using type descriptor. 3733 * @brief Compares memory using type descriptor.
3734 *
3649 * @param type type reference. 3735 * @param type type reference.
3650 * @param a memory to operate, must be of size @c type->value_size. 3736 * @param a memory to operate, must be of size @c type->value_size.
3651 * @param b memory to operate, must be of size @c type->value_size. 3737 * @param b memory to operate, must be of size @c type->value_size.
3652 * @return less than zero if a < b, greater than zero if a > b, zero if equal. 3738 * @return less than zero if a < b, greater than zero if a > b, zero if equal.
3739 *
3653 * @since 1.2 3740 * @since 1.2
3654 */ 3741 */
3655static inline int eina_value_type_compare(const Eina_Value_Type *type, const void *a, const void *b); 3742static inline int eina_value_type_compare(const Eina_Value_Type *type, const void *a, const void *b);
3656 3743
3657/** 3744/**
3658 * @brief Converts memory using type descriptor. 3745 * @brief Converts memory using type descriptor.
3746 *
3659 * @param type type reference of the source. 3747 * @param type type reference of the source.
3660 * @param convert type reference of the destination. 3748 * @param convert type reference of the destination.
3661 * @param type_mem memory to operate, must be of size @c type->value_size. 3749 * @param type_mem memory to operate, must be of size @c type->value_size.
3662 * @param convert_mem memory to operate, must be of size @c convert->value_size. 3750 * @param convert_mem memory to operate, must be of size @c convert->value_size.
3663 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3751 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3752 *
3664 * @since 1.2 3753 * @since 1.2
3665 */ 3754 */
3666static inline Eina_Bool eina_value_type_convert_to(const Eina_Value_Type *type, const Eina_Value_Type *convert, const void *type_mem, void *convert_mem); 3755static inline Eina_Bool eina_value_type_convert_to(const Eina_Value_Type *type, const Eina_Value_Type *convert, const void *type_mem, void *convert_mem);
3667 3756
3668/** 3757/**
3669 * @brief Converts memory using type descriptor. 3758 * @brief Converts memory using type descriptor.
3759 *
3670 * @param type type reference of the destination. 3760 * @param type type reference of the destination.
3671 * @param convert type reference of the source. 3761 * @param convert type reference of the source.
3672 * @param type_mem memory to operate, must be of size @c type->value_size. 3762 * @param type_mem memory to operate, must be of size @c type->value_size.
3673 * @param convert_mem memory to operate, must be of size @c convert->value_size. 3763 * @param convert_mem memory to operate, must be of size @c convert->value_size.
3674 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3764 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3765 *
3675 * @since 1.2 3766 * @since 1.2
3676 */ 3767 */
3677static inline Eina_Bool eina_value_type_convert_from(const Eina_Value_Type *type, const Eina_Value_Type *convert, void *type_mem, const void *convert_mem); 3768static inline Eina_Bool eina_value_type_convert_from(const Eina_Value_Type *type, const Eina_Value_Type *convert, void *type_mem, const void *convert_mem);
3678 3769
3679/** 3770/**
3680 * @brief Sets memory using type descriptor and variable argument. 3771 * @brief Sets memory using type descriptor and variable argument.
3772 *
3681 * @param type type reference of the source. 3773 * @param type type reference of the source.
3682 * @param mem memory to operate, must be of size @c type->value_size. 3774 * @param mem memory to operate, must be of size @c type->value_size.
3683 * @param args input value. 3775 * @param args input value.
3684 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3776 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3777 *
3685 * @since 1.2 3778 * @since 1.2
3686 */ 3779 */
3687static inline Eina_Bool eina_value_type_vset(const Eina_Value_Type *type, void *mem, va_list args); 3780static inline Eina_Bool eina_value_type_vset(const Eina_Value_Type *type, void *mem, va_list args);
3688 3781
3689/** 3782/**
3690 * @brief Sets memory using type descriptor and pointer. 3783 * @brief Sets memory using type descriptor and pointer.
3784 *
3691 * @param type type reference of the source. 3785 * @param type type reference of the source.
3692 * @param mem memory to operate, must be of size @c type->value_size. 3786 * @param mem memory to operate, must be of size @c type->value_size.
3693 * @param ptr pointer to input value. 3787 * @param ptr pointer to input value.
3694 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3788 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3789 *
3695 * @since 1.2 3790 * @since 1.2
3696 */ 3791 */
3697static inline Eina_Bool eina_value_type_pset(const Eina_Value_Type *type, void *mem, const void *ptr); 3792static inline Eina_Bool eina_value_type_pset(const Eina_Value_Type *type, void *mem, const void *ptr);
3698 3793
3699/** 3794/**
3700 * @brief Gets memory using type descriptor. 3795 * @brief Gets memory using type descriptor.
3796 *
3701 * @param type type reference of the source. 3797 * @param type type reference of the source.
3702 * @param mem memory to operate, must be of size @c type->value_size. 3798 * @param mem memory to operate, must be of size @c type->value_size.
3703 * @param ptr pointer to output. 3799 * @param ptr pointer to output.
3704 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3800 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3801 *
3705 * @since 1.2 3802 * @since 1.2
3706 */ 3803 */
3707static inline Eina_Bool eina_value_type_pget(const Eina_Value_Type *type, const void *mem, void *ptr); 3804static inline Eina_Bool eina_value_type_pget(const Eina_Value_Type *type, const void *mem, void *ptr);
@@ -3733,16 +3830,20 @@ typedef Eina_Value_Union Eina_Value_Optional;
3733 3830
3734/** 3831/**
3735 * @brief Creates an empty optional. This is the same as eina_value_new(EINA_VALUE_TYPE_OPTIONAL). 3832 * @brief Creates an empty optional. This is the same as eina_value_new(EINA_VALUE_TYPE_OPTIONAL).
3833 *
3736 * @return returns an empty optional eina value. 3834 * @return returns an empty optional eina value.
3835 *
3737 * @since 1.17 3836 * @since 1.17
3738 */ 3837 */
3739static inline Eina_Value *eina_value_optional_empty_new(void); 3838static inline Eina_Value *eina_value_optional_empty_new(void);
3740 3839
3741/** 3840/**
3742 * @brief Creates an optional eina value with the passed value 3841 * @brief Creates an optional eina value with the passed value
3842 *
3743 * @param subtype Eina_Value_Type of parameter value 3843 * @param subtype Eina_Value_Type of parameter value
3744 * @param value The value to be used to construct optional eina value 3844 * @param value The value to be used to construct optional eina value
3745 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3845 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3846 *
3746 * @since 1.17 3847 * @since 1.17
3747 */ 3848 */
3748EAPI Eina_Value *eina_value_optional_new(const Eina_Value_Type *subtype, 3849EAPI Eina_Value *eina_value_optional_new(const Eina_Value_Type *subtype,
@@ -3750,9 +3851,11 @@ EAPI Eina_Value *eina_value_optional_new(const Eina_Value_Type *subtype,
3750 3851
3751/** 3852/**
3752 * @brief Function to know if an eina optional is empty or not 3853 * @brief Function to know if an eina optional is empty or not
3854 *
3753 * @param value Eina Value Optional 3855 * @param value Eina Value Optional
3754 * @param is_empty #EINA_TRUE if optional is empty, #EINA_FALSE otherwise. 3856 * @param is_empty #EINA_TRUE if optional is empty, #EINA_FALSE otherwise.
3755 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3857 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3858 *
3756 * @since 1.17 3859 * @since 1.17
3757 */ 3860 */
3758static inline Eina_Bool eina_value_optional_empty_is(const Eina_Value *value, 3861static inline Eina_Bool eina_value_optional_empty_is(const Eina_Value *value,
@@ -3760,10 +3863,12 @@ static inline Eina_Bool eina_value_optional_empty_is(const Eina_Value *value,
3760 3863
3761/** 3864/**
3762 * @brief Sets the optional with a value 3865 * @brief Sets the optional with a value
3866 *
3763 * @param value Eina Value Optional to be set with subvalue 3867 * @param value Eina Value Optional to be set with subvalue
3764 * @param subtype Type of subvalue 3868 * @param subtype Type of subvalue
3765 * @param subvalue Value to be set in optional 3869 * @param subvalue Value to be set in optional
3766 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3870 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3871 *
3767 * @since 1.17 3872 * @since 1.17
3768 */ 3873 */
3769EAPI Eina_Bool eina_value_optional_pset(Eina_Value *value, 3874EAPI Eina_Bool eina_value_optional_pset(Eina_Value *value,
@@ -3772,10 +3877,12 @@ EAPI Eina_Bool eina_value_optional_pset(Eina_Value *value,
3772 3877
3773/** 3878/**
3774 * @brief Gets the value from an optional 3879 * @brief Gets the value from an optional
3880 *
3775 * @param value Eina Value Optional to get value from 3881 * @param value Eina Value Optional to get value from
3776 * @param subvalue Pointer to where value is to be copied to. You must use 3882 * @param subvalue Pointer to where value is to be copied to. You must use
3777 * the correct type according to eina_value_optional_type_get 3883 * the correct type according to eina_value_optional_type_get
3778 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3884 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3885 *
3779 * @since 1.17 3886 * @since 1.17
3780 */ 3887 */
3781EAPI Eina_Bool eina_value_optional_pget(Eina_Value *value, 3888EAPI Eina_Bool eina_value_optional_pget(Eina_Value *value,
@@ -3783,16 +3890,20 @@ EAPI Eina_Bool eina_value_optional_pget(Eina_Value *value,
3783 3890
3784/** 3891/**
3785 * @brief Resets eina optional to empty 3892 * @brief Resets eina optional to empty
3893 *
3786 * @param value Eina Value Optional 3894 * @param value Eina Value Optional
3787 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 3895 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
3896 *
3788 * @since 1.17 3897 * @since 1.17
3789 */ 3898 */
3790EAPI Eina_Bool eina_value_optional_reset(Eina_Value *value) EINA_ARG_NONNULL(1); 3899EAPI Eina_Bool eina_value_optional_reset(Eina_Value *value) EINA_ARG_NONNULL(1);
3791 3900
3792/** 3901/**
3902 *
3793 * @brief Gets type from value that is stored on Eina Value Optional 3903 * @brief Gets type from value that is stored on Eina Value Optional
3794 * @param value Eina Value Optional 3904 * @param value Eina Value Optional
3795 * @return The optional sub-type. 3905 * @return The optional sub-type.
3906 *
3796 * @since 1.17 3907 * @since 1.17
3797 */ 3908 */
3798static inline const Eina_Value_Type *eina_value_optional_type_get(Eina_Value *value) EINA_ARG_NONNULL(1); 3909static inline const Eina_Value_Type *eina_value_optional_type_get(Eina_Value *value) EINA_ARG_NONNULL(1);
diff --git a/src/lib/eina/eina_value_util.h b/src/lib/eina/eina_value_util.h
index 23c81a494c..8cc0e5241a 100644
--- a/src/lib/eina/eina_value_util.h
+++ b/src/lib/eina/eina_value_util.h
@@ -30,15 +30,19 @@
30 30
31/** 31/**
32 * @brief Creates a basic #Eina_Value struct desc with refcounting. 32 * @brief Creates a basic #Eina_Value struct desc with refcounting.
33 *
33 * @return The #Eina_Value_Struct_Desc on success, @c NULL on failure 34 * @return The #Eina_Value_Struct_Desc on success, @c NULL on failure
35 *
34 * @since 1.12 36 * @since 1.12
35 */ 37 */
36EAPI Eina_Value_Struct_Desc *eina_value_util_struct_desc_new(void); 38EAPI Eina_Value_Struct_Desc *eina_value_util_struct_desc_new(void);
37 39
38/** 40/**
39 * @brief Creates a new #Eina_Value containing the passed parameter. 41 * @brief Creates a new #Eina_Value containing the passed parameter.
42 *
40 * @param timestr The value to use 43 * @param timestr The value to use
41 * @return The #Eina_Value 44 * @return The #Eina_Value
45 *
42 * @since 1.12 46 * @since 1.12
43 */ 47 */
44EAPI Eina_Value *eina_value_util_time_string_new(const char *timestr); 48EAPI Eina_Value *eina_value_util_time_string_new(const char *timestr);
diff --git a/src/lib/eina/eina_xattr.h b/src/lib/eina/eina_xattr.h
index 6d0daeda9a..febd4a7d43 100644
--- a/src/lib/eina/eina_xattr.h
+++ b/src/lib/eina/eina_xattr.h
@@ -49,7 +49,7 @@ struct _Eina_Xattr
49}; 49};
50 50
51/** 51/**
52 * @brief Gets an iterator that list all extended attribute of a file. 52 * @brief Gets an iterator that lists all extended attribute of a file.
53 * 53 *
54 * @param file The filename to retrieve the extended attribute list from. 54 * @param file The filename to retrieve the extended attribute list from.
55 * @return an iterator. 55 * @return an iterator.
@@ -102,20 +102,26 @@ EAPI Eina_Iterator *eina_xattr_value_fd_ls(int fd) EINA_WARN_UNUSED_RESULT;
102 102
103/** 103/**
104 * @brief Copies the extended attribute from one file to another. 104 * @brief Copies the extended attribute from one file to another.
105 *
105 * @param src source file to use as input. 106 * @param src source file to use as input.
106 * @param dst destination file to use as output. 107 * @param dst destination file to use as output.
107 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 108 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
109 *
108 * @see eina_xattr_fd_copy() 110 * @see eina_xattr_fd_copy()
111 *
109 * @since 1.8 112 * @since 1.8
110 */ 113 */
111EAPI Eina_Bool eina_xattr_copy(const char *src, const char *dst) EINA_ARG_NONNULL(1, 2); 114EAPI Eina_Bool eina_xattr_copy(const char *src, const char *dst) EINA_ARG_NONNULL(1, 2);
112 115
113/** 116/**
114 * @brief Copies the extended attribute from one file descriptor to another. 117 * @brief Copies the extended attribute from one file descriptor to another.
118 *
115 * @param src source file descriptor to use as input. 119 * @param src source file descriptor to use as input.
116 * @param dst destination file descriptor to use as output. 120 * @param dst destination file descriptor to use as output.
117 * @return #EINA_TRUE on success, #EINA_FALSE otherwise. 121 * @return #EINA_TRUE on success, #EINA_FALSE otherwise.
122 *
118 * @see eina_xattr_copy() 123 * @see eina_xattr_copy()
124 *
119 * @since 1.8 125 * @since 1.8
120 */ 126 */
121EAPI Eina_Bool eina_xattr_fd_copy(int src, int dst); 127EAPI Eina_Bool eina_xattr_fd_copy(int src, int dst);