Class

GioMemoryOutputStream

Description

class Gio.MemoryOutputStream : Gio.OutputStream {
  parent_instance: GOutputStream
}

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

As of GLib 2.34, GMemoryOutputStream trivially implements GPollableOutputStream: it always polls as ready.

Hierarchy

hierarchy this GMemoryOutputStream implements_0 GPollableOutputStream this--implements_0 implements_1 GSeekable this--implements_1 ancestor_0 GOutputStream ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

Constructors

g_memory_output_stream_new

Creates a new GMemoryOutputStream.

g_memory_output_stream_new_resizable

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

since: 2.36

Instance methods

g_memory_output_stream_get_data

Gets any loaded data from the ostream.

g_memory_output_stream_get_data_size

Returns the number of bytes from the start up to including the last byte written in the stream that has not been truncated away.

since: 2.18

g_memory_output_stream_get_size

Gets the size of the currently allocated data area (available from g_memory_output_stream_get_data()).

g_memory_output_stream_steal_as_bytes

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

since: 2.34

g_memory_output_stream_steal_data

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 ostreams GMemoryOutputStream:destroy-function property.

since: 2.26

Methods inherited from GOutputStream (31)

Please see GOutputStream for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from GPollableOutputStream (5)
g_pollable_output_stream_can_poll

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.

since: 2.28

g_pollable_output_stream_create_source

Creates a GSource that triggers when stream can be written, or cancellable is triggered or an error occurs. The callback on the source is of the GPollableSourceFunc type.

since: 2.28

g_pollable_output_stream_is_writable

Checks if stream can be written.

since: 2.28

g_pollable_output_stream_write_nonblocking

Attempts to write up to count bytes from buffer to stream, as with g_output_stream_write(). If stream is not currently writable, this will immediately return G_IO_ERROR_WOULD_BLOCK, and you can use g_pollable_output_stream_create_source() to create a GSource that will be triggered when stream is writable.

g_pollable_output_stream_writev_nonblocking

Attempts to write the bytes contained in the n_vectors vectors to stream, as with g_output_stream_writev(). If stream is not currently writable, this will immediately return %G_POLLABLE_RETURN_WOULD_BLOCK, and you can use g_pollable_output_stream_create_source() to create a GSource that will be triggered when stream is writable. error will not be set in that case.

since: 2.60

Methods inherited from GSeekable (5)
g_seekable_can_seek

Tests if the stream supports the GSeekableIface.

g_seekable_can_truncate

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

g_seekable_seek

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

g_seekable_tell

Tells the current position within the stream.

g_seekable_truncate

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.

Properties

Gio.MemoryOutputStream:data

Pointer to buffer where data will be written.

since: 2.24

Gio.MemoryOutputStream:data-size

Size of data written to the buffer.

since: 2.24

Gio.MemoryOutputStream:destroy-function

Function called with the buffer as argument when the stream is destroyed.

since: 2.24

Gio.MemoryOutputStream:realloc-function

Function with realloc semantics called to enlarge the buffer.

since: 2.24

Gio.MemoryOutputStream:size

Current size of the data buffer.

since: 2.24

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 GioMemoryOutputStreamClass {
  GOutputStreamClass parent_class;
  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: GOutputStreamClass
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.