class Gio::MemoryOutputStream
- Gio::MemoryOutputStream
- Gio::OutputStream
- GObject::Object
- Reference
- Object
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.crConstructors
-
.new
Initialize a new
MemoryOutputStream
. - .new(*, data : Pointer(Void)? = nil, data_size : UInt64? = nil, size : UInt64? = nil)
-
.new_resizable : self
Creates a new #GMemoryOutputStream, using g_realloc() and g_free() for memory allocation.
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#data : Pointer(Void)?
Gets any loaded data from the @ostream.
- #data=(value : Pointer(Void)) : Pointer(Void)
-
#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.
-
#size : UInt64
Gets the size of the currently allocated data area (available from g_memory_output_stream_get_data()).
- #size=(value : UInt64) : UInt64
-
#steal_as_bytes : GLib::Bytes
Returns data from the @ostream as a #GBytes.
-
#steal_data : Pointer(Void)?
Gets any loaded data from the @ostream.
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?) : Bool
seek,
tell : Int64
tell,
to_unsafe
to_unsafe,
truncate(offset : Int64, cancellable : Gio::Cancellable?) : Bool
truncate
Class methods inherited from module Gio::Seekable
g_type : UInt64
g_type
Instance methods inherited from module Gio::PollableOutputStream
can_poll : Bool
can_poll,
create_source(cancellable : Gio::Cancellable?) : GLib::Source
create_source,
is_writable : Bool
is_writable,
to_unsafe
to_unsafe,
write_nonblocking(buffer : Enumerable(UInt8), cancellable : Gio::Cancellable?) : Int64
write_nonblocking,
writev_nonblocking(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable?) : Gio::PollableReturn
writev_nonblocking
Class methods inherited from module Gio::PollableOutputStream
g_type : UInt64
g_type
Instance methods inherited from class Gio::OutputStream
clear_pending : Nil
clear_pending,
close(cancellable : Gio::Cancellable?) : Bool
close,
close_async(io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
close_async,
close_finish(result : Gio::AsyncResult) : Bool
close_finish,
flush(cancellable : Gio::Cancellable?) : Bool
flush,
flush_async(io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
flush_async,
flush_finish(result : Gio::AsyncResult) : Bool
flush_finish,
has_pending : Bool
has_pending,
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?) : Int64
splice,
splice_async(source : Gio::InputStream, flags : Gio::OutputStreamSpliceFlags, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
splice_async,
splice_finish(result : Gio::AsyncResult) : Int64
splice_finish,
write(buffer : Enumerable(UInt8), cancellable : Gio::Cancellable?) : Int64
write,
write_all(buffer : Enumerable(UInt8), cancellable : Gio::Cancellable?) : Bool
write_all,
write_all_async(buffer : Enumerable(UInt8), io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
write_all_async,
write_all_finish(result : Gio::AsyncResult) : Bool
write_all_finish,
write_async(buffer : Enumerable(UInt8), io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
write_async,
write_bytes(bytes : GLib::Bytes, cancellable : Gio::Cancellable?) : Int64
write_bytes,
write_bytes_async(bytes : GLib::Bytes, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : 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?) : Bool
writev,
writev_all(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable?) : Bool
writev_all,
writev_all_async(vectors : Enumerable(Gio::OutputVector), io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : 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?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : 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
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)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
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)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
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,
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
compat_control(what : UInt64, data : Pointer(Void)?) : 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
Creates a new #GMemoryOutputStream, using g_realloc() and g_free() for memory allocation.
Class Method Detail
Instance Method Detail
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.
Returns the number of bytes from the start up to including the last byte written in the stream that has not been truncated away.
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().
Returns data from the @ostream as a #GBytes. @ostream must be closed before calling this function.
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.