Value | Meaning |
---|---|
STATIC0 | The memory is statically allocated and constant; libsoup can use the passed-in buffer directly and not need to worry about it being modified or freed. |
TAKE1 | The caller has allocated the memory for the #SoupBuffer's use; libsoup will assume ownership of it and free it (with g_free()) when it is done with it. |
COPY2 | The passed-in data belongs to the caller; the #SoupBuffer will copy it into new memory, leaving the caller free to reuse the original memory. |
TEMPORARY3 | The passed-in data belongs to the caller, but will remain valid for the lifetime of the #SoupBuffer. The difference between this and @SOUP_MEMORY_STATIC is that if you copy a @SOUP_MEMORY_TEMPORARY buffer, it will make a copy of the memory as well, rather than reusing the original memory. |
Describes how #SoupBuffer should use the data passed in by the caller.
See also soup_buffer_new_with_owner(), which allows to you create a buffer containing data which is owned by another object.