Class

GioInputStream

Description [src]

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

GInputStream 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.

Hierarchy

hierarchy this GInputStream ancestor_0 GObject ancestor_0--this

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.

Available since: 2.44

g_input_stream_read_all_finish

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

Available 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.

Available 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.

Available since: 2.34

g_input_stream_read_bytes_finish

Finishes an asynchronous stream read-into-GBytes operation.

Available 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)

Signals

Signals inherited from GObject (1)

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
  );
  
}
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.