SoupMemoryUse

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.

Values

ValueMeaning
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.

Meta