shell-util: Add a helper method for saving files from HTTP

Unfortunately, gjs cannot handle binary C strings directly from
gobject-introspection. Add a simple workaround method in C to help
us save random files from the web.

https://bugzilla.gnome.org/show_bug.cgi?id=653989
This commit is contained in:
Jasper St. Pierre
2011-06-27 20:17:27 -04:00
parent ed46390bbc
commit a6dfe20348
2 changed files with 28 additions and 0 deletions

View File

@ -560,6 +560,29 @@ shell_get_event_state (ClutterEvent *event)
return state & CLUTTER_MODIFIER_MASK;
}
/**
* shell_write_soup_message_to_stream:
* @stream: a #GOutputStream
* @message: a #SoupMessage
* @error: location to store GError
*
* Write a string to a GOutputStream as binary data. This is a
* workaround for the lack of proper binary strings in GJS.
*/
void
shell_write_soup_message_to_stream (GOutputStream *stream,
SoupMessage *message,
GError **error)
{
SoupMessageBody *body;
body = message->response_body;
g_output_stream_write_all (stream,
body->data, body->length,
NULL, NULL, error);
}
/**
* shell_write_string_to_stream:
* @stream: a #GOutputStream