X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgdatainputstream.h;h=8304156e2c8f3c8641d4f328d2dd74c5b38e9ecb;hb=51fac05d73f8363de821eb0d6940dedca13a8c0f;hp=d68be6c4560b2b34b9801a069dab29de72bb7f6f;hpb=6d071b4ab6d60aecf9532d1aac2128dd0c08f917;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gdatainputstream.h b/gio/gdatainputstream.h index d68be6c..8304156 100644 --- a/gio/gdatainputstream.h +++ b/gio/gdatainputstream.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,7 +21,10 @@ #ifndef __G_DATA_INPUT_STREAM_H__ #define __G_DATA_INPUT_STREAM_H__ -#include +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + #include G_BEGIN_DECLS @@ -35,13 +36,18 @@ G_BEGIN_DECLS #define G_IS_DATA_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DATA_INPUT_STREAM)) #define G_DATA_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DATA_INPUT_STREAM, GDataInputStreamClass)) -typedef struct _GDataInputStream GDataInputStream; +/** + * GDataInputStream: + * + * An implementation of #GBufferedInputStream that allows for high-level + * data manipulation of arbitrary data (including binary operations). + **/ typedef struct _GDataInputStreamClass GDataInputStreamClass; typedef struct _GDataInputStreamPrivate GDataInputStreamPrivate; struct _GDataInputStream { - GBufferedInputStream parent; + GBufferedInputStream parent_instance; /*< private >*/ GDataInputStreamPrivate *priv; @@ -49,8 +55,9 @@ struct _GDataInputStream struct _GDataInputStreamClass { - GBufferedInputStreamClass parent_class; + GBufferedInputStreamClass parent_class; + /*< private >*/ /* Padding for future expansion */ void (*_g_reserved1) (void); void (*_g_reserved2) (void); @@ -59,58 +66,114 @@ struct _GDataInputStreamClass void (*_g_reserved5) (void); }; -typedef enum { - G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN, - G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN, - G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN -} GDataStreamByteOrder; - -typedef enum { - G_DATA_STREAM_NEWLINE_TYPE_LF, - G_DATA_STREAM_NEWLINE_TYPE_CR, - G_DATA_STREAM_NEWLINE_TYPE_CR_LF, - G_DATA_STREAM_NEWLINE_TYPE_ANY -} GDataStreamNewlineType; +GLIB_AVAILABLE_IN_ALL +GType g_data_input_stream_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +GDataInputStream * g_data_input_stream_new (GInputStream *base_stream); -GType g_data_input_stream_get_type (void) G_GNUC_CONST; -GDataInputStream* g_data_input_stream_new (GInputStream *base_stream); +GLIB_AVAILABLE_IN_ALL +void g_data_input_stream_set_byte_order (GDataInputStream *stream, + GDataStreamByteOrder order); +GLIB_AVAILABLE_IN_ALL +GDataStreamByteOrder g_data_input_stream_get_byte_order (GDataInputStream *stream); +GLIB_AVAILABLE_IN_ALL +void g_data_input_stream_set_newline_type (GDataInputStream *stream, + GDataStreamNewlineType type); +GLIB_AVAILABLE_IN_ALL +GDataStreamNewlineType g_data_input_stream_get_newline_type (GDataInputStream *stream); +GLIB_AVAILABLE_IN_ALL +guchar g_data_input_stream_read_byte (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +gint16 g_data_input_stream_read_int16 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +guint16 g_data_input_stream_read_uint16 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +gint32 g_data_input_stream_read_int32 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +guint32 g_data_input_stream_read_uint32 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +gint64 g_data_input_stream_read_int64 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +char * g_data_input_stream_read_line (GDataInputStream *stream, + gsize *length, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_2_30 +char * g_data_input_stream_read_line_utf8 (GDataInputStream *stream, + gsize *length, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_data_input_stream_read_line_async (GDataInputStream *stream, + gint io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +char * g_data_input_stream_read_line_finish (GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_2_30 +char * g_data_input_stream_read_line_finish_utf8(GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_ALL +char * g_data_input_stream_read_until (GDataInputStream *stream, + const gchar *stop_chars, + gsize *length, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_data_input_stream_read_until_async (GDataInputStream *stream, + const gchar *stop_chars, + gint io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +char * g_data_input_stream_read_until_finish (GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); -void g_data_input_stream_set_byte_order (GDataInputStream *stream, - GDataStreamByteOrder order); -GDataStreamByteOrder g_data_input_stream_get_byte_order (GDataInputStream *stream); -void g_data_input_stream_set_newline_type (GDataInputStream *data_stream, - GDataStreamNewlineType type); -GDataStreamNewlineType g_data_input_stream_get_newline_type (GDataInputStream *stream); -guchar g_data_input_stream_read_byte (GDataInputStream *stream, - GCancellable *cancellable, - GError **error); -gint16 g_data_input_stream_read_int16 (GDataInputStream *stream, - GCancellable *cancellable, - GError **error); -guint16 g_data_input_stream_read_uint16 (GDataInputStream *stream, - GCancellable *cancellable, - GError **error); -gint32 g_data_input_stream_read_int32 (GDataInputStream *stream, - GCancellable *cancellable, - GError **error); -guint32 g_data_input_stream_read_uint32 (GDataInputStream *stream, - GCancellable *cancellable, - GError **error); -gint64 g_data_input_stream_read_int64 (GDataInputStream *stream, - GCancellable *cancellable, - GError **error); -guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream, - GCancellable *cancellable, - GError **error); -char * g_data_input_stream_read_line (GDataInputStream *stream, - gsize *length, - GCancellable *cancellable, - GError **error); -char * g_data_input_stream_read_until (GDataInputStream *stream, - const gchar *stop_chars, - gsize *length, - GCancellable *cancellable, - GError **error); +GLIB_AVAILABLE_IN_ALL +char * g_data_input_stream_read_upto (GDataInputStream *stream, + const gchar *stop_chars, + gssize stop_chars_len, + gsize *length, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_data_input_stream_read_upto_async (GDataInputStream *stream, + const gchar *stop_chars, + gssize stop_chars_len, + gint io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +char * g_data_input_stream_read_upto_finish (GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); G_END_DECLS