[libsoup] soup-message-body: Add a soup_buffer_get_as_bytes method
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsoup] soup-message-body: Add a soup_buffer_get_as_bytes method
- Date: Thu, 24 May 2012 21:48:54 +0000 (UTC)
commit 4ed116eee2949e134d7312acfcc57f9672ff18ca
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu May 24 15:05:10 2012 -0400
soup-message-body: Add a soup_buffer_get_as_bytes method
This new method will return a GBytes instance containing the
contents of the SoupBuffer.
https://bugzilla.gnome.org/show_bug.cgi?id=676776
docs/reference/libsoup-2.4-sections.txt | 1 +
libsoup/soup-message-body.c | 18 ++++++++++++++++++
libsoup/soup-message-body.h | 1 +
3 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/libsoup-2.4-sections.txt b/docs/reference/libsoup-2.4-sections.txt
index 8731edd..87633c7 100644
--- a/docs/reference/libsoup-2.4-sections.txt
+++ b/docs/reference/libsoup-2.4-sections.txt
@@ -159,6 +159,7 @@ soup_buffer_get_owner
soup_buffer_get_data
soup_buffer_copy
soup_buffer_free
+soup_buffer_get_as_bytes
<SUBSECTION>
SoupMessageBody
soup_message_body_new
diff --git a/libsoup/soup-message-body.c b/libsoup/soup-message-body.c
index daf9d1e..899c04a 100644
--- a/libsoup/soup-message-body.c
+++ b/libsoup/soup-message-body.c
@@ -308,6 +308,24 @@ soup_buffer_free (SoupBuffer *buffer)
}
}
+/**
+ * soup_buffer_get_as_bytes:
+ * @buffer: a #SoupBuffer
+ *
+ * Returns: (transfer full): a new #GBytes which has the same content
+ * as the #SoupBuffer.
+ *
+ * Since: 2.40
+ */
+GBytes *
+soup_buffer_get_as_bytes (SoupBuffer *buffer)
+{
+ SoupBuffer *copy;
+
+ copy = soup_buffer_copy (buffer);
+ return g_bytes_new_with_free_func (copy->data, copy->length, soup_buffer_free, copy);
+}
+
GType
soup_buffer_get_type (void)
{
diff --git a/libsoup/soup-message-body.h b/libsoup/soup-message-body.h
index 4edaaf0..ee84083 100644
--- a/libsoup/soup-message-body.h
+++ b/libsoup/soup-message-body.h
@@ -44,6 +44,7 @@ void soup_buffer_get_data (SoupBuffer *buffer,
gsize *length);
SoupBuffer *soup_buffer_copy (SoupBuffer *buffer);
void soup_buffer_free (SoupBuffer *buffer);
+GBytes *soup_buffer_get_as_bytes (SoupBuffer *buffer);
typedef struct {
const char *data;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]