X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fginputstream.h;h=a9c269c0913957589199c10d7030675fde58eca6;hb=c3842d1969feace4bfb12919be730e75e53877d9;hp=279cd6565586b98c9095254586ee1692cc387b1a;hpb=117de38f04de4f546215957b95d3c5b3f104fa42;p=platform%2Fupstream%2Fglib.git diff --git a/gio/ginputstream.h b/gio/ginputstream.h index 279cd65..a9c269c 100644 --- a/gio/ginputstream.h +++ b/gio/ginputstream.h @@ -1,5 +1,5 @@ /* GIO - GLib Input, Output and Streaming Library - * + * * Copyright (C) 2006-2007 Red Hat, Inc. * * This library is free software; you can redistribute it and/or @@ -13,9 +13,7 @@ * 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. + * Public License along with this library; if not, see . * * Author: Alexander Larsson */ @@ -23,10 +21,11 @@ #ifndef __G_INPUT_STREAM_H__ #define __G_INPUT_STREAM_H__ -#include -#include -#include -#include +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include G_BEGIN_DECLS @@ -39,16 +38,15 @@ G_BEGIN_DECLS /** * GInputStream: - * + * * Base class for streaming input operations. **/ -typedef struct _GInputStream GInputStream; typedef struct _GInputStreamClass GInputStreamClass; typedef struct _GInputStreamPrivate GInputStreamPrivate; struct _GInputStream { - GObject parent; + GObject parent_instance; /*< private >*/ GInputStreamPrivate *priv; @@ -59,48 +57,48 @@ struct _GInputStreamClass GObjectClass parent_class; /* Sync ops: */ - - gssize (* read) (GInputStream *stream, - void *buffer, - gsize count, - GCancellable *cancellable, - GError **error); - gssize (* skip) (GInputStream *stream, - gsize count, - GCancellable *cancellable, - GError **error); - gboolean (* close) (GInputStream *stream, - GCancellable *cancellable, - GError **error); + + gssize (* read_fn) (GInputStream *stream, + void *buffer, + gsize count, + GCancellable *cancellable, + GError **error); + gssize (* skip) (GInputStream *stream, + gsize count, + GCancellable *cancellable, + GError **error); + gboolean (* close_fn) (GInputStream *stream, + GCancellable *cancellable, + GError **error); /* Async ops: (optional in derived classes) */ - void (* read_async) (GInputStream *stream, - void *buffer, - gsize count, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - gssize (* read_finish) (GInputStream *stream, - GAsyncResult *result, - GError **error); - void (* skip_async) (GInputStream *stream, - gsize count, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - gssize (* skip_finish) (GInputStream *stream, - GAsyncResult *result, - GError **error); - void (* close_async) (GInputStream *stream, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - gboolean (* close_finish)(GInputStream *stream, - GAsyncResult *result, - GError **error); + void (* read_async) (GInputStream *stream, + void *buffer, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gssize (* read_finish) (GInputStream *stream, + GAsyncResult *result, + GError **error); + void (* skip_async) (GInputStream *stream, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gssize (* skip_finish) (GInputStream *stream, + GAsyncResult *result, + GError **error); + void (* close_async) (GInputStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* close_finish) (GInputStream *stream, + GAsyncResult *result, + GError **error); /*< private >*/ /* Padding for future expansion */ @@ -111,26 +109,37 @@ struct _GInputStreamClass void (*_g_reserved5) (void); }; -GType g_input_stream_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +GType g_input_stream_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL gssize g_input_stream_read (GInputStream *stream, void *buffer, gsize count, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_input_stream_read_all (GInputStream *stream, void *buffer, gsize count, gsize *bytes_read, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_2_34 +GBytes *g_input_stream_read_bytes (GInputStream *stream, + gsize count, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL gssize g_input_stream_skip (GInputStream *stream, gsize count, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_input_stream_close (GInputStream *stream, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_input_stream_read_async (GInputStream *stream, void *buffer, gsize count, @@ -138,33 +147,53 @@ void g_input_stream_read_async (GInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL gssize g_input_stream_read_finish (GInputStream *stream, GAsyncResult *result, GError **error); +GLIB_AVAILABLE_IN_2_34 +void g_input_stream_read_bytes_async (GInputStream *stream, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_2_34 +GBytes *g_input_stream_read_bytes_finish (GInputStream *stream, + GAsyncResult *result, + GError **error); +GLIB_AVAILABLE_IN_ALL void g_input_stream_skip_async (GInputStream *stream, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL gssize g_input_stream_skip_finish (GInputStream *stream, GAsyncResult *result, GError **error); +GLIB_AVAILABLE_IN_ALL void g_input_stream_close_async (GInputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL gboolean g_input_stream_close_finish (GInputStream *stream, GAsyncResult *result, GError **error); /* For implementations: */ +GLIB_AVAILABLE_IN_ALL gboolean g_input_stream_is_closed (GInputStream *stream); +GLIB_AVAILABLE_IN_ALL gboolean g_input_stream_has_pending (GInputStream *stream); +GLIB_AVAILABLE_IN_ALL gboolean g_input_stream_set_pending (GInputStream *stream, GError **error); +GLIB_AVAILABLE_IN_ALL void g_input_stream_clear_pending (GInputStream *stream); G_END_DECLS