InputStream

open class InputStream(pointer: <Error class: unknown class><<Error class: unknown class>>)

GInputStream is a base class for implementing streaming input.

It has functions to read from a stream (method@Gio.InputStream.read), to close a stream (method@Gio.InputStream.close) and to skip some content (method@Gio.InputStream.skip).

To copy the content of an input stream to an output stream without manually handling the reads and writes, use method@Gio.OutputStream.splice.

See the documentation for class@Gio.IOStream for details of thread safety of streaming APIs.

All of these functions have async variants too.

Skipped during bindings generation

  • parameter buffer: buffer: Out parameter is not supported

  • parameter buffer: buffer: Out parameter is not supported

  • parameter buffer: buffer: Out parameter is not supported

  • parameter bytes_read: bytes_read: Out parameter is not supported

  • parameter buffer: buffer: Out parameter is not supported

Inheritors

Constructors

Link copied to clipboard
constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val gioInputStreamPointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
open fun clearPending()

Clears the pending flag on @stream.

Link copied to clipboard
open fun close(cancellable: Cancellable? = null): <Error class: unknown class><Boolean>

Closes the stream, releasing resources related to it.

Link copied to clipboard
open fun closeAsync(ioPriority: <Error class: unknown class>, cancellable: Cancellable? = null, callback: AsyncReadyCallback?)

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.

Link copied to clipboard
open fun closeFinish(result: AsyncResult): <Error class: unknown class><Boolean>

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

Link copied to clipboard
open fun hasPending(): Boolean

Checks if an input stream has pending actions.

Link copied to clipboard
open fun isClosed(): Boolean

Checks if an input stream is closed.

Link copied to clipboard
open fun readBytes(count: <Error class: unknown class>, cancellable: Cancellable? = null): <Error class: unknown class><<Error class: unknown class>>

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.

Link copied to clipboard
open fun readBytesAsync(count: <Error class: unknown class>, ioPriority: <Error class: unknown class>, cancellable: Cancellable? = null, callback: AsyncReadyCallback?)

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.

Link copied to clipboard
open fun readBytesFinish(result: AsyncResult): <Error class: unknown class><<Error class: unknown class>>

Finishes an asynchronous stream read-into-#GBytes operation.

Link copied to clipboard
open fun readFinish(result: AsyncResult): <Error class: unknown class><Long>

Finishes an asynchronous stream read operation.

Link copied to clipboard
open fun setPending(): <Error class: unknown class><Boolean>

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

Link copied to clipboard
open fun skip(count: <Error class: unknown class>, cancellable: Cancellable? = null): <Error class: unknown class><Long>

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

Link copied to clipboard
open fun skipAsync(count: <Error class: unknown class>, ioPriority: <Error class: unknown class>, cancellable: Cancellable? = null, callback: AsyncReadyCallback?)

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.

Link copied to clipboard
open fun skipFinish(result: AsyncResult): <Error class: unknown class><Long>

Finishes a stream skip operation.