diff options
-rw-r--r-- | libsoup/soup-http-io-stream.h | 75 | ||||
-rw-r--r-- | libsoup/soup-http-output-stream.h | 77 |
2 files changed, 152 insertions, 0 deletions
diff --git a/libsoup/soup-http-io-stream.h b/libsoup/soup-http-io-stream.h new file mode 100644 index 00000000..7f596cc3 --- /dev/null +++ b/libsoup/soup-http-io-stream.h @@ -0,0 +1,75 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2011 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __SOUP_HTTP_IO_STREAM_H__ +#define __SOUP_HTTP_IO_STREAM_H__ + +#include <gio/gio.h> +#include <libsoup/soup-types.h> + +G_BEGIN_DECLS + +#define SOUP_TYPE_HTTP_IO_STREAM (soup_http_io_stream_get_type ()) +#define SOUP_HTTP_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SOUP_TYPE_HTTP_IO_STREAM, SoupHTTPIOStream)) +#define SOUP_HTTP_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SOUP_TYPE_HTTP_IO_STREAM, SoupHTTPIOStreamClass)) +#define SOUP_IS_HTTP_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SOUP_TYPE_HTTP_IO_STREAM)) +#define SOUP_IS_HTTP_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SOUP_TYPE_HTTP_IO_STREAM)) +#define SOUP_HTTP_IO_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), SOUP_TYPE_HTTP_IO_STREAM, SoupHTTPIOStreamClass)) + +typedef struct SoupHTTPIOStream SoupHTTPIOStream; +typedef struct SoupHTTPIOStreamClass SoupHTTPIOStreamClass; + +struct SoupHTTPIOStream { + GIOStream parent; +}; + +struct SoupHTTPIOStreamClass { + GIOStreamClass parent_class; + + /* Padding for future expansion */ + void (*_g_reserved1)(void); + void (*_g_reserved2)(void); + void (*_g_reserved3)(void); + void (*_g_reserved4)(void); + void (*_g_reserved5)(void); +}; + +GType soup_http_io_stream_get_type (void) G_GNUC_CONST; + +SoupHTTPIOStream *soup_http_io_stream_new (SoupSession *session); + +gboolean soup_http_io_stream_send (SoupHTTPIOStream *httpstream, + GCancellable *cancellable, + GError **error); + +void soup_http_io_stream_send_async (SoupHTTPIOStream *httpstream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean soup_http_io_stream_send_finish (SoupHTTPIOStream *httpstream, + GAsyncResult *result, + GError **error); + +SoupMessage *soup_http_io_stream_get_message (SoupHTTPIOStream *httpstream); + +G_END_DECLS + +#endif /* __SOUP_HTTP_IO_STREAM_H__ */ diff --git a/libsoup/soup-http-output-stream.h b/libsoup/soup-http-output-stream.h new file mode 100644 index 00000000..94b7d9d2 --- /dev/null +++ b/libsoup/soup-http-output-stream.h @@ -0,0 +1,77 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2011 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __SOUP_HTTP_OUTPUT_STREAM_H__ +#define __SOUP_HTTP_OUTPUT_STREAM_H__ + +#include <libsoup/soup-types.h> + +G_BEGIN_DECLS + +#define SOUP_TYPE_HTTP_OUTPUT_STREAM (soup_http_output_stream_get_type ()) +#define SOUP_HTTP_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SOUP_TYPE_HTTP_OUTPUT_STREAM, SoupHTTPOutputStream)) +#define SOUP_HTTP_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SOUP_TYPE_HTTP_OUTPUT_STREAM, SoupHTTPOutputStreamClass)) +#define SOUP_IS_HTTP_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SOUP_TYPE_HTTP_OUTPUT_STREAM)) +#define SOUP_IS_HTTP_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SOUP_TYPE_HTTP_OUTPUT_STREAM)) +#define SOUP_HTTP_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), SOUP_TYPE_HTTP_OUTPUT_STREAM, SoupHTTPOutputStreamClass)) + +typedef struct _SoupHTTPOutputStream SoupHTTPOutputStream; +typedef struct _SoupHTTPOutputStreamPrivate SoupHTTPOutputStreamPrivate; +typedef struct _SoupHTTPOutputStreamClass SoupHTTPOutputStreamClass; + +struct _SoupHTTPOutputStream { + GOutputStream parent; + + SoupHTTPOutputStreamPrivate *priv; +}; + +struct _SoupHTTPOutputStreamClass { + GOutputStreamClass parent_class; + + /* Padding for future expansion */ + void (*_g_reserved1)(void); + void (*_g_reserved2)(void); + void (*_g_reserved3)(void); + void (*_g_reserved4)(void); + void (*_g_reserved5)(void); +}; + +GType soup_http_output_stream_get_type (void) G_GNUC_CONST; + +SoupHTTPOutputStream *soup_http_output_stream_new (SoupMessage *msg); + +gboolean soup_http_output_stream_send (SoupHTTPOutputStream *httpstream, + GCancellable *cancellable, + GError **error); + +void soup_http_output_stream_send_async (SoupHTTPOutputStream *httpstream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean soup_http_output_stream_send_finish (SoupHTTPOutputStream *httpstream, + GAsyncResult *result, + GError **error); + +SoupMessage *soup_http_output_stream_get_message (SoupHTTPOutputStream *httpstream); + +G_END_DECLS + +#endif /* __SOUP_HTTP_OUTPUT_STREAM_H__ */ |