aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/eina/eina_binbuf.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/eina/eina_binbuf.h')
-rw-r--r--src/lib/eina/eina_binbuf.h276
1 files changed, 129 insertions, 147 deletions
diff --git a/src/lib/eina/eina_binbuf.h b/src/lib/eina/eina_binbuf.h
index 32f3b1ebfe..71216479b1 100644
--- a/src/lib/eina/eina_binbuf.h
+++ b/src/lib/eina/eina_binbuf.h
@@ -7,39 +7,33 @@
#include "eina_types.h"
/**
- * @addtogroup Eina_Binary_Buffer_Group Binary Buffer
+ * @defgroup Eina_Binary_Buffer_Group Binary Buffer
+ * @ingroup Eina_Data_Types_Group
*
- * @brief These functions provide string buffers management.
+ * @brief This group discusses the functions that provide string buffers management.
*
* The Binary Buffer data type is designed to be a mutable string,
- * allowing to append, prepend or insert a string to a buffer.
- */
-
-/**
- * @addtogroup Eina_Data_Types_Group Data Types
- *
- * @{
- */
-
-/**
- * @defgroup Eina_Binary_Buffer_Group Binary Buffer
+ * allowing to append, prepend, or insert a string into a buffer.
*
* @{
*/
/**
* @typedef Eina_Binbuf
- * Type for a string buffer.
+ * @brief The structure type for a string buffer.
*/
typedef struct _Eina_Strbuf Eina_Binbuf;
/**
- * @brief Create a new string buffer.
+ * @brief Creates a new string buffer.
*
- * @return Newly allocated string buffer instance.
+ * @details This function creates a new string buffer. On error, @c NULL is
+ * returned and Eina error is set to #EINA_ERROR_OUT_OF_MEMORY. To
+ * free the resources, use eina_binbuf_free().
+ *
+ * @since_tizen 2.3
*
- * This function creates a new string buffer. On error, @c NULL is
- * returned. To free the resources, use eina_binbuf_free().
+ * @return Newly allocated string buffer instance.
*
* @see eina_binbuf_free()
* @see eina_binbuf_append()
@@ -48,76 +42,67 @@ typedef struct _Eina_Strbuf Eina_Binbuf;
EAPI Eina_Binbuf *eina_binbuf_new(void) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
/**
- * @brief Create a new string buffer using the passed string. The passed
- * string is used directly as the buffer, it's somehow the opposite function of
- * @ref eina_binbuf_string_steal . The passed string must be malloced.
- *
- * @param str the string to manage
- * @param length the length of the string.
- * @return Newly allocated string buffer instance.
+ * @brief Creates a new string buffer using the passed string. The passed
+ * string is used directly as the buffer, it's somehow the opposite function of
+ * @ref eina_binbuf_string_steal . The passed string must be malloced.
*
- * This function creates a new string buffer. On error, @c NULL is
- * returned. To free the resources, use eina_binbuf_free().
+ * @details This function creates a new string buffer. On error, @c NULL is
+ * returned and Eina error is set to #EINA_ERROR_OUT_OF_MEMORY. To
+ * free the resources, use eina_binbuf_free().
*
- * @see eina_binbuf_manage_new()
* @since 1.2.0
- */
-EAPI Eina_Binbuf *eina_binbuf_manage_new_length(unsigned char *str, size_t length) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
-
-/**
- * @brief Create a new string buffer using the passed string. The passed
- * string is used directly as the buffer, it's somehow the opposite function of
- * @ref eina_binbuf_string_steal . The passed string will not be touched.
*
- * @param str the string to start from
- * @param length the length of the string.
- * @return Newly allocated string buffer instance.
+ * @since_tizen 2.3
*
- * This function creates a new string buffer. On error, @c NULL is
- * returned. To free the resources, use eina_binbuf_free(). It will
- * not touch the internal buffer. Any changing operation will
- * create a fresh new memory, copy old data there and starting modifying
- * that one.
+ * @param[in] str The string to manage
+ * @param[in] length The length of the string
+ * @return A newly allocated string buffer instance
*
* @see eina_binbuf_manage_new()
- * @since 1.9.0
*/
-EAPI Eina_Binbuf *eina_binbuf_manage_read_only_new_length(const unsigned char *str, size_t length) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
+EAPI Eina_Binbuf *eina_binbuf_manage_new_length(unsigned char *str, size_t length) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
/**
- * @brief Free a string buffer.
+ * @brief Frees a string buffer.
+ *
+ * @details This function frees the memory of @a buf. @a buf must have been
+ * created by eina_binbuf_new().
*
- * @param buf The string buffer to free.
+ * @since_tizen 2.3
*
- * This function frees the memory of @p buf. @p buf must have been
- * created by eina_binbuf_new().
+ * @param[in] buf The string buffer to free
*/
EAPI void eina_binbuf_free(Eina_Binbuf *buf) EINA_ARG_NONNULL(1);
/**
- * @brief Reset a string buffer.
+ * @brief Resets a string buffer.
+ *
+ * @details This function resets @a buf, the buffer length is set to @c 0 and the
+ * string is set to '\\0'. No memory is freed.
*
- * @param buf The string buffer to reset.
+ * @since_tizen 2.3
+ *
+ * @param[in] buf The string buffer to reset
*
- * This function reset @p buf: the buffer len is set to 0, and the
- * string is set to '\\0'. No memory is free'd.
*/
EAPI void eina_binbuf_reset(Eina_Binbuf *buf) EINA_ARG_NONNULL(1);
/**
- * @brief Append a string of exact length to a buffer, reallocating as necessary.
+ * @brief Appends a string of exact length to a buffer, reallocating as necessary.
+ *
+ * @details This function appends @a str to @a buf. @a str must be at most of size
+ * @a length. It is slightly faster than eina_binbuf_append() as
+ * it does not compute the size of @a str. It is useful when dealing
+ * with strings of known size, such as eina_strngshare. If @a buf
+ * can't append it, @c EINA_FALSE is returned, otherwise @c EINA_TRUE is
+ * returned.
*
- * @param buf The string buffer to append to.
- * @param str The string to append.
- * @param length The exact length to use.
- * @return #EINA_TRUE on success, #EINA_FALSE on failure.
+ * @since_tizen 2.3
*
- * This function appends @p str to @p buf. @p str must be of size at
- * most @p length. It is slightly faster than eina_binbuf_append() as
- * it does not compute the size of @p str. It is useful when dealing
- * with strings of known size, such as eina_strngshare. If @p buf
- * can't append it, #EINA_FALSE is returned, otherwise #EINA_TRUE is
- * returned.
+ * @param[in] buf The string buffer to append to
+ * @param[in] str The string to append
+ * @param[in] length The exact length to use
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE on failure
*
* @see eina_stringshare_length()
* @see eina_binbuf_append()
@@ -126,52 +111,38 @@ EAPI void eina_binbuf_reset(Eina_Binbuf *buf) EINA_ARG_NONNULL(1);
EAPI Eina_Bool eina_binbuf_append_length(Eina_Binbuf *buf, const unsigned char *str, size_t length) EINA_ARG_NONNULL(1, 2);
/**
- * @brief Append an Eina_Binbuf to a buffer, reallocating as necessary.
- *
- * @param buf The string buffer to append to.
- * @param data The string buffer to append.
- * @return #EINA_TRUE on success, #EINA_FALSE on failure.
+ * @brief Appends a character to a string buffer, reallocating as
+ * necessary.
*
- * This function appends @p data to @p buf. @p data must be allocated and
- * different from @c NULL. It is slightly faster than eina_binbuf_append() as
- * it does not compute the size of @p str. If @p buf can't append it,
- * #EINA_FALSE is returned, otherwise #EINA_TRUE is returned.
+ * @details This function inserts @a c to @a buf. If it cannot insert it, @c EINA_FALSE
+ * is returned, otherwise @c EINA_TRUE is returned.
*
- * @see eina_binbuf_append()
- * @see eina_binbuf_append_n()
- * @see eina_binbuf_append_length()
- * @since 1.9.0
- */
-EAPI Eina_Bool eina_binbuf_append_buffer(Eina_Binbuf *buf, const Eina_Binbuf *data) EINA_ARG_NONNULL(1, 2);
-
-/**
- * @brief Append a character to a string buffer, reallocating as
- * necessary.
+ * @since_tizen 2.3
*
- * @param buf The string buffer to append to.
- * @param c The char to append.
- * @return #EINA_TRUE on success, #EINA_FALSE on failure.
+ * @param[in] buf The string buffer to append to
+ * @param[in] c The character to append
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE on failure
*
- * This function inserts @p c to @p buf. If it can not insert it, #EINA_FALSE
- * is returned, otherwise #EINA_TRUE is returned.
*/
EAPI Eina_Bool eina_binbuf_append_char(Eina_Binbuf *buf, unsigned char c) EINA_ARG_NONNULL(1);
/**
- * @brief Insert a string of exact length to a buffer, reallocating as necessary.
+ * @brief Inserts a string of exact length into a buffer, reallocating as necessary.
+ *
+ * @details This function inserts @a str into @a buf. @a str must be at most of size
+ * @a length. It is slightly faster than eina_binbuf_insert() as
+ * it does not compute the size of @a str. It is useful when dealing
+ * with strings of known size, such as eina_strngshare. If @a buf
+ * can't insert it, @c EINA_FALSE is returned, otherwise @c EINA_TRUE is
+ * returned.
*
- * @param buf The string buffer to insert to.
- * @param str The string to insert.
- * @param length The exact length to use.
- * @param pos The position to insert the string.
- * @return #EINA_TRUE on success, #EINA_FALSE on failure.
+ * @since_tizen 2.3
*
- * This function inserts @p str to @p buf. @p str must be of size at
- * most @p length. It is slightly faster than eina_binbuf_insert() as
- * it does not compute the size of @p str. It is useful when dealing
- * with strings of known size, such as eina_strngshare. If @p buf
- * can't insert it, #EINA_FALSE is returned, otherwise #EINA_TRUE is
- * returned.
+ * @param[in] buf The string buffer to insert to
+ * @param[in] str The string to insert
+ * @param[in] length The exact length to use
+ * @param[in] pos The position at which to insert the string
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE on failure
*
* @see eina_stringshare_length()
* @see eina_binbuf_insert()
@@ -180,84 +151,99 @@ EAPI Eina_Bool eina_binbuf_append_char(Eina_Binbuf *buf, unsigned char c) EINA_A
EAPI Eina_Bool eina_binbuf_insert_length(Eina_Binbuf *buf, const unsigned char *str, size_t length, size_t pos) EINA_ARG_NONNULL(1, 2);
/**
- * @brief Insert a character to a string buffer, reallocating as
- * necessary.
+ * @brief Inserts a character into a string buffer, reallocating as
+ * necessary.
*
- * @param buf The string buffer to insert to.
- * @param c The char to insert.
- * @param pos The position to insert the char.
- * @return #EINA_TRUE on success, #EINA_FALSE on failure.
+ * @details This function inserts @a c into @a buf at position @a pos. If @a buf
+ * can't append it, @c EINA_FALSE is returned, otherwise @c EINA_TRUE is
+ * returned.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] buf The string buffer to insert into
+ * @param[in] c The character to insert
+ * @param[in] pos The position at which to insert the character
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE on failure
*
- * This function inserts @p c to @p buf at position @p pos. If @p buf
- * can't append it, #EINA_FALSE is returned, otherwise #EINA_TRUE is
- * returned.
*/
EAPI Eina_Bool eina_binbuf_insert_char(Eina_Binbuf *buf, unsigned char c, size_t pos) EINA_ARG_NONNULL(1);
/**
- * @brief Remove a slice of the given string buffer.
- *
- * @param buf The string buffer to remove a slice.
- * @param start The initial (inclusive) slice position to start
- * removing, in bytes.
- * @param end The final (non-inclusive) slice position to finish
- * removing, in bytes.
- * @return #EINA_TRUE on success, #EINA_FALSE on failure.
- *
- * This function removes a slice of @p buf, starting at @p start
- * (inclusive) and ending at @p end (non-inclusive). Both values are
- * in bytes. It returns #EINA_FALSE on failure, #EINA_TRUE otherwise.
+ * @brief Removes a slice of the given string buffer.
+ *
+ * @details This function removes a slice of @a buf, starting from @a start
+ * (inclusive) and ending at @a end (non-inclusive). Both values are
+ * in bytes. It returns @c EINA_FALSE on failure, otherwise @c EINA_TRUE.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] buf The string buffer to remove a slice of
+ * @param[in] start The initial (inclusive) slice position to start
+ * removing from, in bytes
+ * @param[in] end The final (non-inclusive) slice position to finish
+ * removing at, in bytes
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE on failure
*/
EAPI Eina_Bool eina_binbuf_remove(Eina_Binbuf *buf, size_t start, size_t end) EINA_ARG_NONNULL(1);
/**
- * @brief Retrieve a pointer to the contents of a string buffer
+ * @brief Gets a pointer to the contents of a string buffer.
+ *
+ * @details This function returns the string contained in @a buf. The returned
+ * value must not be modified and is no longer valid if @a buf is
+ * modified. In other words, any eina_binbuf_append() or similar
+ * makes that pointer invalid.
*
- * @param buf The string buffer.
- * @return The current string in the string buffer.
+ * @since_tizen 2.3
*
- * This function returns the string contained in @p buf. The returned
- * value must not be modified and will no longer be valid if @p buf is
- * modified. In other words, any eina_binbuf_append() or similar will
- * make that pointer invalid.
+ * @param[in] buf The string buffer
+ * @return The current string in the string buffer
*
* @see eina_binbuf_string_steal()
*/
EAPI const unsigned char *eina_binbuf_string_get(const Eina_Binbuf *buf) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
/**
- * @brief Steal the contents of a string buffer.
+ * @brief Steals the contents of a string buffer.
*
- * @param buf The string buffer to steal.
- * @return The current string in the string buffer.
+ * @details This function returns the string contained in @a buf. @a buf is
+ * then initialized and does not own the returned string anymore. The
+ * caller must release the memory of the returned string by calling
+ * free().
*
- * This function returns the string contained in @p buf. @p buf is
- * then initialized and does not own the returned string anymore. The
- * caller must release the memory of the returned string by calling
- * free().
+ * @since_tizen 2.3
+ *
+ * @param[in] buf The string buffer to steal from
+ * @return The current string in the string buffer
*
* @see eina_binbuf_string_get()
*/
EAPI unsigned char *eina_binbuf_string_steal(Eina_Binbuf *buf) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
/**
- * @brief Free the contents of a string buffer but not the buffer.
+ * @brief Frees the contents of a string buffer but not the buffer.
+ *
+ * @details This function frees the string contained in @a buf without freeing
+ * @a buf.
+ *
+ * @since_tizen 2.3
*
- * @param buf The string buffer to free the string of.
+ * @param[in] buf The string buffer to free the string of
*
- * This function frees the string contained in @p buf without freeing
- * @p buf.
*/
EAPI void eina_binbuf_string_free(Eina_Binbuf *buf) EINA_ARG_NONNULL(1);
/**
- * @brief Retrieve the length of the string buffer content.
+ * @brief Gets the length of the string buffer's content.
*
- * @param buf The string buffer.
- * @return The current length of the string, in bytes.
+ * @details This function returns the length of @a buf.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] buf The string buffer
+ * @return The current length of the string, in bytes
*
- * This function returns the length of @p buf.
*/
EAPI size_t eina_binbuf_length_get(const Eina_Binbuf *buf) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
@@ -265,8 +251,4 @@ EAPI size_t eina_binbuf_length_get(const Eina_Binbuf *buf) EINA_ARG_NONNULL(1
* @}
*/
-/**
- * @}
- */
-
#endif /* EINA_STRBUF_H */