class Gio::MemoryOutputStream

Overview

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

Included Modules

Defined in:

lib/gi-crystal/src/auto/gio-2.0/memory_output_stream.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gio::Seekable

can_seek : Bool can_seek, can_truncate : Bool can_truncate, seek(offset : Int64, type : GLib::SeekType, cancellable : Gio::Cancellable | Nil) : Bool seek, tell : Int64 tell, to_unsafe to_unsafe, truncate(offset : Int64, cancellable : Gio::Cancellable | Nil) : Bool truncate

Constructor methods inherited from module Gio::Seekable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gio::Seekable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gio::PollableOutputStream

can_poll : Bool can_poll, create_source(cancellable : Gio::Cancellable | Nil) : GLib::Source create_source, is_writable : Bool is_writable, to_unsafe to_unsafe, write_nonblocking(buffer : Bytes, cancellable : Gio::Cancellable | Nil) : Int64 write_nonblocking, writev_nonblocking(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable | Nil) : Gio::PollableReturn writev_nonblocking

Constructor methods inherited from module Gio::PollableOutputStream

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gio::PollableOutputStream

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from class Gio::OutputStream

==(other : self) ==, clear_pending : Nil clear_pending, close(cancellable : Gio::Cancellable | Nil) : Bool close, close_async(io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil close_async, close_finish(result : Gio::AsyncResult) : Bool close_finish, flush(cancellable : Gio::Cancellable | Nil) : Bool flush, flush_async(io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil flush_async, flush_finish(result : Gio::AsyncResult) : Bool flush_finish, has_pending : Bool has_pending, hash(hasher) hash, is_closed : Bool is_closed, is_closing : Bool is_closing, set_pending : Bool set_pending, splice(source : Gio::InputStream, flags : Gio::OutputStreamSpliceFlags, cancellable : Gio::Cancellable | Nil) : Int64 splice, splice_async(source : Gio::InputStream, flags : Gio::OutputStreamSpliceFlags, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil splice_async, splice_finish(result : Gio::AsyncResult) : Int64 splice_finish, write(buffer : Bytes, cancellable : Gio::Cancellable | Nil) : Int64 write, write_all(buffer : Bytes, cancellable : Gio::Cancellable | Nil) : Bool write_all, write_all_async(buffer : Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil write_all_async, write_all_finish(result : Gio::AsyncResult) : Bool write_all_finish, write_async(buffer : Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil write_async, write_bytes(bytes : GLib::Bytes, cancellable : Gio::Cancellable | Nil) : Int64 write_bytes, write_bytes_async(bytes : GLib::Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil write_bytes_async, write_bytes_finish(result : Gio::AsyncResult) : Int64 write_bytes_finish, write_finish(result : Gio::AsyncResult) : Int64 write_finish, writev(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable | Nil) : Bool writev, writev_all(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable | Nil) : Bool writev_all, writev_all_async(vectors : Enumerable(Gio::OutputVector), io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil writev_all_async, writev_all_finish(result : Gio::AsyncResult) : Bool writev_all_finish, writev_async(vectors : Enumerable(Gio::OutputVector), io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil writev_async, writev_finish(result : Gio::AsyncResult) : Bool writev_finish

Constructor methods inherited from class Gio::OutputStream

new new

Class methods inherited from class Gio::OutputStream

g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

==(other : self) ==, bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
new
new
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Constructor Detail

def self.new #

Initialize a new MemoryOutputStream.


[View source]
def self.new(*, data : Pointer(Void) | Nil = nil, data_size : UInt64 | Nil = nil, size : UInt64 | Nil = nil) #

[View source]
def self.new_resizable : self #

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


[View source]

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def data : Pointer(Void) | Nil #

Gets any loaded data from the ostream.

Note that the returned pointer may become invalid on the next write or truncate operation on the stream.


[View source]
def data=(value : Pointer(Void)) : Pointer(Void) #

[View source]
def data_size : UInt64 #

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


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def size : UInt64 #

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

You probably don't want to use this function on resizable streams. See g_memory_output_stream_get_data_size() instead. For resizable streams the size returned by this function is an implementation detail and may be change at any time in response to operations on the stream.

If the stream is fixed-sized (ie: no realloc was passed to g_memory_output_stream_new()) then this is the maximum size of the stream and further writes will return %G_IO_ERROR_NO_SPACE.

In any case, if you want the number of bytes currently written to the stream, use g_memory_output_stream_get_data_size().


[View source]
def size=(value : UInt64) : UInt64 #

[View source]
def steal_as_bytes : GLib::Bytes #

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


[View source]
def steal_data : Pointer(Void) | Nil #

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. ostream must be closed before calling this function.


[View source]