class Gio::FileIOStream
- Gio::FileIOStream
- Gio::IOStream
- GObject::Object
- Reference
- Object
Overview
GFileIOStream provides io streams that both read and write to the same file handle.
GFileIOStream implements #GSeekable, which allows the io stream to jump to arbitrary positions in the file and to truncate the file, provided the filesystem of the file supports these operations.
To find the position of a file io stream, use g_seekable_tell().
To find out if a file io stream supports seeking, use g_seekable_can_seek(). To position a file io stream, use g_seekable_seek(). To find out if a file io stream supports truncating, use g_seekable_can_truncate(). To truncate a file io stream, use g_seekable_truncate().
The default implementation of all the #GFileIOStream operations and the implementation of #GSeekable just call into the same operations on the output stream.
Included Modules
Defined in:
lib/gi-crystal/src/auto/gio-2.0/file_io_stream.crConstructors
-
.new
Initialize a new
FileIOStream
. - .new(*, closed : Bool? = nil, input_stream : Gio::InputStream? = nil, output_stream : Gio::OutputStream? = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#etag : String?
Gets the entity tag for the file when it has been written.
-
#query_info(attributes : String, cancellable : Gio::Cancellable?) : Gio::FileInfo
Queries a file io stream for the given @attributes.
-
#query_info_async(attributes : String, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
Asynchronously queries the @stream for a #GFileInfo.
-
#query_info_finish(result : Gio::AsyncResult) : Gio::FileInfo
Finalizes the asynchronous query started by g_file_io_stream_query_info_async().
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 class Gio::IOStream
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,
closed? : Bool
closed?,
has_pending : Bool
has_pending,
input_stream : Gio::InputStream
input_stream,
is_closed : Bool
is_closed,
output_stream : Gio::OutputStream
output_stream,
set_pending : Bool
set_pending,
splice_async(stream2 : Gio::IOStream, flags : Gio::IOStreamSpliceFlags, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
splice_async,
splice_finish(result : Gio::AsyncResult) : Bool
splice_finish
Constructor methods inherited from class Gio::IOStream
newnew(*, closed : Bool? = nil, input_stream : Gio::InputStream? = nil, output_stream : Gio::OutputStream? = nil) new
Class methods inherited from class Gio::IOStream
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
Class Method Detail
Instance Method Detail
Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing.
Queries a file io stream for the given @attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_io_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with %G_IO_ERROR_PENDING.
Can fail if the stream was already closed (with @error being set to
%G_IO_ERROR_CLOSED), the stream has pending operations (with @error being
set to %G_IO_ERROR_PENDING), or if querying info is not supported for
the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). I
all cases of failure, nil
will be returned.
If @cancellable is not nil
, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and nil
will
be returned.
Asynchronously queries the @stream for a #GFileInfo. When completed, @callback will be called with a #GAsyncResult which can be used to finish the operation with g_file_io_stream_query_info_finish().
For the synchronous version of this function, see g_file_io_stream_query_info().
Finalizes the asynchronous query started by g_file_io_stream_query_info_async().