X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgdatainputstream.h;h=8304156e2c8f3c8641d4f328d2dd74c5b38e9ecb;hb=d9ad40b4eaf1a9197ab363de4346a8d84f45f5c1;hp=355752d2bc3a04f0cc52eac5571201b669c1e45b;hpb=ab7ff4c6a04a9c29e4f1e8cb3fd1f39610c58c37;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gdatainputstream.h b/gio/gdatainputstream.h index 355752d..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 @@ -37,12 +38,10 @@ G_BEGIN_DECLS /** * GDataInputStream: - * @parent: a #GBufferedInputStream. * - * An implementation of #GBufferedInputStream that allows for high-level + * An implementation of #GBufferedInputStream that allows for high-level * data manipulation of arbitrary data (including binary operations). **/ -typedef struct _GDataInputStream GDataInputStream; typedef struct _GDataInputStreamClass GDataInputStreamClass; typedef struct _GDataInputStreamPrivate GDataInputStreamPrivate; @@ -56,7 +55,8 @@ struct _GDataInputStream struct _GDataInputStreamClass { - GBufferedInputStreamClass parent_class; + GBufferedInputStreamClass parent_class; + /*< private >*/ /* Padding for future expansion */ void (*_g_reserved1) (void); @@ -66,77 +66,114 @@ struct _GDataInputStreamClass void (*_g_reserved5) (void); }; -/** - * GDataStreamByteOrder: - * @G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order. - * @G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order. - * @G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture. - * - * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources - * across various machine architectures. - * - **/ -typedef enum { - G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN, - G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN, - G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN -} GDataStreamByteOrder; - -/** - * GDataStreamNewlineType: - * @G_DATA_STREAM_NEWLINE_TYPE_LF: Selects "LF" line endings, common on most modern UNIX platforms. - * @G_DATA_STREAM_NEWLINE_TYPE_CR: Selects "CR" line endings. - * @G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects "CR, LF" line ending, common on Microsoft Windows. - * @G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type. - * - * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file. - **/ -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 *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