MemoryOutputStream

open class MemoryOutputStream(pointer: <Error class: unknown class><<Error class: unknown class>>) : OutputStream, PollableOutputStream, Seekable

GMemoryOutputStream is a class for using arbitrary memory chunks as output for GIO streaming output operations.

As of GLib 2.34, GMemoryOutputStream trivially implements iface@Gio.PollableOutputStream: it always polls as ready.

Skipped during bindings generation

  • method destroy-function: Property has no getter nor setter

  • method realloc-function: Property has no getter nor setter

  • parameter realloc_function: ReallocFunc

Constructors

Link copied to clipboard
constructor()

Creates a new #GMemoryOutputStream, using g_realloc() and g_free() for memory allocation.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open val data: <Error class: unknown class>?

Pointer to buffer where data will be written.

Link copied to clipboard
open val dataSize: <Error class: unknown class>

Size of data written to the buffer.

Link copied to clipboard
val gioMemoryOutputStreamPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
val gioOutputStreamPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val gioPollableOutputStreamPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val gioSeekablePointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open val size: <Error class: unknown class>

Current size of the data buffer.

Functions

Link copied to clipboard
open fun canPoll(): Boolean

Checks if @stream is actually pollable. Some classes may implement #GPollableOutputStream but have only certain instances of that class be pollable. If this method returns false, then the behavior of other #GPollableOutputStream methods is undefined.

Link copied to clipboard
open fun canSeek(): Boolean

Tests if the stream supports the #GSeekableIface.

Link copied to clipboard
open fun canTruncate(): Boolean

Tests if the length of the stream can be adjusted with g_seekable_truncate().

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 close of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_output_stream_close_finish() to get the result of the operation.

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

Closes an output stream.

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

Creates a #GSource that triggers when @stream can be written, or

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

Forces a write of all user-space buffered data for the given

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

Forces an asynchronous write of all user-space buffered data for the given @stream. For behaviour details see g_output_stream_flush().

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

Finishes flushing an output stream.

Link copied to clipboard
open fun hasPending(): Boolean

Checks if an output stream has pending actions.

Link copied to clipboard
open fun isClosed(): Boolean

Checks if an output stream has already been closed.

Link copied to clipboard
open fun isClosing(): Boolean

Checks if an output stream is being closed. This can be used inside e.g. a flush implementation to see if the flush (or other i/o operation) is called from within the closing operation.

Link copied to clipboard
open fun isWritable(): Boolean

Checks if @stream can be written.

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

Seeks in the stream by the given @offset, modified by @type.

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 splice(source: InputStream, flags: OutputStreamSpliceFlags, cancellable: Cancellable? = null): <Error class: unknown class><Long>

Splices an input stream into an output stream.

Link copied to clipboard
open fun spliceAsync(source: InputStream, flags: OutputStreamSpliceFlags, ioPriority: <Error class: unknown class>, cancellable: Cancellable? = null, callback: AsyncReadyCallback?)

Splices a stream asynchronously. When the operation is finished @callback will be called. You can then call g_output_stream_splice_finish() to get the result of the operation.

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

Finishes an asynchronous stream splice operation.

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

Returns data from the @ostream as a #GBytes. @ostream must be closed before calling this function.

Link copied to clipboard
open fun stealData(): <Error class: unknown class>?

Gets any loaded data from the @ostream. Ownership of the data is transferred to the caller; when no longer needed it must be freed using the free function set in @ostream's #GMemoryOutputStream:destroy-function property.

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

Tells the current position within the stream.

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

Sets the length of the stream to @offset. If the stream was previously larger than @offset, the extra data is discarded. If the stream was previously shorter than @offset, it is extended with NUL ('\0') bytes.

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

A wrapper function for g_output_stream_write() which takes a #GBytes as input. This can be more convenient for use by language bindings or in other cases where the refcounted nature of #GBytes is helpful over a bare pointer interface.

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

This function is similar to g_output_stream_write_async(), but takes a #GBytes as input. Due to the refcounted nature of #GBytes, this allows the stream to avoid taking a copy of the data.

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

Finishes a stream write-from-#GBytes operation.

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

Finishes a stream write operation.