Class

GioInputStream

Description

abstract class Gio.InputStream : GObject.Object {
  parent_instance: GObject
}

GInputStream is a base class for implementing streaming input.

It has functions to read from a stream (g_input_stream_read()), to close a stream (g_input_stream_close()) and to skip some content (g_input_stream_skip()).

To copy the content of an input stream to an output stream without manually handling the reads and writes, use g_output_stream_splice().

See the documentation for GIOStream for details of thread safety of streaming APIs.

All of these functions have async variants too.

Ancestors

Instance methods

g_input_stream_clear_pending

Clears the pending flag on stream.

g_input_stream_close

Closes the stream, releasing resources related to it.

g_input_stream_close_async

Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished callback will be called. You can then call g_input_stream_close_finish() to get the result of the operation.

g_input_stream_close_finish

Finishes closing a stream asynchronously, started from g_input_stream_close_async().

g_input_stream_has_pending

Checks if an input stream has pending actions.

g_input_stream_is_closed

Checks if an input stream is closed.

g_input_stream_read

Tries to read count bytes from the stream into the buffer starting at buffer. Will block during this read.

g_input_stream_read_all

Tries to read count bytes from the stream into the buffer starting at buffer. Will block during this read.

g_input_stream_read_all_async

Request an asynchronous read of count bytes from the stream into the buffer starting at buffer.

since: 2.44

g_input_stream_read_all_finish

Finishes an asynchronous stream read operation started with g_input_stream_read_all_async().

since: 2.44

g_input_stream_read_async

Request an asynchronous read of count bytes from the stream into the buffer starting at buffer. When the operation is finished callback will be called. You can then call g_input_stream_read_finish() to get the result of the operation.

g_input_stream_read_bytes

Like g_input_stream_read(), this tries to read count bytes from the stream in a blocking fashion. However, rather than reading into a user-supplied buffer, this will create a new GBytes containing the data that was read. This may be easier to use from language bindings.

since: 2.34

g_input_stream_read_bytes_async

Request an asynchronous read of count bytes from the stream into a new GBytes. When the operation is finished callback will be called. You can then call g_input_stream_read_bytes_finish() to get the result of the operation.

since: 2.34

g_input_stream_read_bytes_finish

Finishes an asynchronous stream read-into-GBytes operation.

since: 2.34

g_input_stream_read_finish

Finishes an asynchronous stream read operation.

g_input_stream_set_pending

Sets stream to have actions pending. If the pending flag is already set or stream is closed, it will return FALSE and set error.

g_input_stream_skip

Tries to skip count bytes from the stream. Will block during the operation.

g_input_stream_skip_async

Request an asynchronous skip of count bytes from the stream. When the operation is finished callback will be called. You can then call g_input_stream_skip_finish() to get the result of the operation.

g_input_stream_skip_finish

Finishes a stream skip operation.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct GioInputStreamClass {
  GObjectClass parent_class;
  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
  );
  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 (* _g_reserved1) (
void
  );
  void (* _g_reserved2) (
void
  );
  void (* _g_reserved3) (
void
  );
  void (* _g_reserved4) (
void
  );
  void (* _g_reserved5) (
void
  );
  
}
No description available.
Class members
parent_class: GObjectClass
No description available.
read_fn: gssize (* read_fn) ( GInputStream* stream, void* buffer, gsize count, GCancellable* cancellable, GError** error )
No description available.
skip: gssize (* skip) ( GInputStream* stream, gsize count, GCancellable* cancellable, GError** error )
No description available.
close_fn: gboolean (* close_fn) ( GInputStream* stream, GCancellable* cancellable, GError** error )
No description available.
read_async: void (* read_async) ( GInputStream* stream, void* buffer, gsize count, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
No description available.
read_finish: gssize (* read_finish) ( GInputStream* stream, GAsyncResult* result, GError** error )
No description available.
skip_async: void (* skip_async) ( GInputStream* stream, gsize count, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
No description available.
skip_finish: gssize (* skip_finish) ( GInputStream* stream, GAsyncResult* result, GError** error )
No description available.
close_async: void (* close_async) ( GInputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
No description available.
close_finish: gboolean (* close_finish) ( GInputStream* stream, GAsyncResult* result, GError** error )
No description available.
_g_reserved1: void (* _g_reserved1) ( void )
No description available.
_g_reserved2: void (* _g_reserved2) ( void )
No description available.
_g_reserved3: void (* _g_reserved3) ( void )
No description available.
_g_reserved4: void (* _g_reserved4) ( void )
No description available.
_g_reserved5: void (* _g_reserved5) ( void )
No description available.

Virtual methods

Gio.InputStreamClass.close_async

Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished callback will be called. You can then call g_input_stream_close_finish() to get the result of the operation.

Gio.InputStreamClass.close_finish

Finishes closing a stream asynchronously, started from g_input_stream_close_async().

Gio.InputStreamClass.close_fn
No description available.

Gio.InputStreamClass.read_async

Request an asynchronous read of count bytes from the stream into the buffer starting at buffer. When the operation is finished callback will be called. You can then call g_input_stream_read_finish() to get the result of the operation.

Gio.InputStreamClass.read_finish

Finishes an asynchronous stream read operation.

Gio.InputStreamClass.read_fn
No description available.

Gio.InputStreamClass.skip

Tries to skip count bytes from the stream. Will block during the operation.

Gio.InputStreamClass.skip_async

Request an asynchronous skip of count bytes from the stream. When the operation is finished callback will be called. You can then call g_input_stream_skip_finish() to get the result of the operation.

Gio.InputStreamClass.skip_finish

Finishes a stream skip operation.