class Gio::DataInputStream

Overview

Data input stream implements #GInputStream and includes functions for reading structured data directly from a binary input stream.

Included Modules

Defined in:

lib/gi-crystal/src/auto/gio-2.0/data_input_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 class Gio::BufferedInputStream

==(other : self) ==, available : UInt64 available, buffer_size : UInt64 buffer_size, buffer_size=(value : UInt32) : UInt32
buffer_size=(size : UInt64) : Nil
buffer_size=
, fill(count : Int64, cancellable : Gio::Cancellable | Nil) : Int64 fill, fill_async(count : Int64, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil fill_async, fill_finish(result : Gio::AsyncResult) : Int64 fill_finish, hash(hasher) hash, peek(buffer : Bytes, offset : UInt64) : UInt64 peek, peek_buffer : Bytes peek_buffer, read_byte(cancellable : Gio::Cancellable | Nil) : Int32 read_byte

Constructor methods inherited from class Gio::BufferedInputStream

new(base_stream : Gio::InputStream) : self
new
new(*, base_stream : Gio::InputStream | Nil = nil, buffer_size : UInt32 | Nil = nil, close_base_stream : Bool | Nil = nil)
new
, new_sized(base_stream : Gio::InputStream, size : UInt64) : self new_sized

Class methods inherited from class Gio::BufferedInputStream

g_type : UInt64 g_type

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 class Gio::FilterInputStream

==(other : self) ==, base_stream : Gio::InputStream base_stream, base_stream=(value : Gio::InputStream | Nil) : Gio::InputStream | Nil base_stream=, close_base_stream : Bool close_base_stream, close_base_stream=(close_base : Bool) : Nil close_base_stream=, close_base_stream? : Bool close_base_stream?, hash(hasher) hash

Constructor methods inherited from class Gio::FilterInputStream

new
new(*, base_stream : Gio::InputStream | Nil = nil, close_base_stream : Bool | Nil = nil)
new

Class methods inherited from class Gio::FilterInputStream

g_type : UInt64 g_type

Instance methods inherited from class Gio::InputStream

==(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, has_pending : Bool has_pending, hash(hasher) hash, is_closed : Bool is_closed, read(buffer : Bytes, cancellable : Gio::Cancellable | Nil) : Int64 read, read_all(buffer : Bytes, bytes_read : UInt64, cancellable : Gio::Cancellable | Nil) : Bool read_all, read_all_async(buffer : Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil read_all_async, read_all_finish(result : Gio::AsyncResult, bytes_read : UInt64) : Bool read_all_finish, read_async(buffer : Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil read_async, read_bytes(count : UInt64, cancellable : Gio::Cancellable | Nil) : GLib::Bytes read_bytes, read_bytes_async(count : UInt64, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil read_bytes_async, read_bytes_finish(result : Gio::AsyncResult) : GLib::Bytes read_bytes_finish, read_finish(result : Gio::AsyncResult) : Int64 read_finish, set_pending : Bool set_pending, skip(count : UInt64, cancellable : Gio::Cancellable | Nil) : Int64 skip, skip_async(count : UInt64, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil skip_async, skip_finish(result : Gio::AsyncResult) : Int64 skip_finish

Constructor methods inherited from class Gio::InputStream

new new

Class methods inherited from class Gio::InputStream

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(base_stream : Gio::InputStream) : self #

Creates a new data input stream for the base_stream.


[View source]
def self.new #

Initialize a new DataInputStream.


[View source]
def self.new(*, base_stream : Gio::InputStream | Nil = nil, buffer_size : UInt32 | Nil = nil, byte_order : Gio::DataStreamByteOrder | Nil = nil, close_base_stream : Bool | Nil = nil, newline_type : Gio::DataStreamNewlineType | Nil = nil) #

[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 byte_order : Gio::DataStreamByteOrder #

Gets the byte order for the data input stream.


[View source]
def byte_order=(order : Gio::DataStreamByteOrder) : Nil #

This function sets the byte order for the given stream. All subsequent reads from the stream will be read in the given order.


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

See Object#hash(hasher)


def newline_type : Gio::DataStreamNewlineType #

Gets the current newline type for the stream.


[View source]
def newline_type=(type : Gio::DataStreamNewlineType) : Nil #

Sets the newline type for the stream.

Note that using G_DATA_STREAM_NEWLINE_TYPE_ANY is slightly unsafe. If a read chunk ends in "CR" we must read an additional byte to know if this is "CR" or "CR LF", and this might block if there is no more data available.


[View source]
def read_byte(cancellable : Gio::Cancellable | Nil) : UInt8 #

Reads an unsigned 8-bit/1-byte value from stream.


[View source]
def read_int16(cancellable : Gio::Cancellable | Nil) : Int16 #

Reads a 16-bit/2-byte value from stream.

In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().


[View source]
def read_int32(cancellable : Gio::Cancellable | Nil) : Int32 #

Reads a signed 32-bit/4-byte value from stream.

In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().

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


[View source]
def read_int64(cancellable : Gio::Cancellable | Nil) : Int64 #

Reads a 64-bit/8-byte value from stream.

In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().

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


[View source]
def read_line(cancellable : Gio::Cancellable | Nil) : Bytes | Nil #

Reads a line from the data input stream. Note that no encoding checks or conversion is performed; the input is not guaranteed to be UTF-8, and may in fact have embedded NUL characters.

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


[View source]
def read_line_async(io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

The asynchronous version of g_data_input_stream_read_line(). It is an error to have two outstanding calls to this function.

When the operation is finished, callback will be called. You can then call g_data_input_stream_read_line_finish() to get the result of the operation.


[View source]
def read_line_finish(result : Gio::AsyncResult) : Bytes | Nil #

Finish an asynchronous call started by g_data_input_stream_read_line_async(). Note the warning about string encoding in g_data_input_stream_read_line() applies here as well.


[View source]
def read_line_finish_utf8(result : Gio::AsyncResult) : String | Nil #

Finish an asynchronous call started by g_data_input_stream_read_line_async().


[View source]
def read_line_utf8(cancellable : Gio::Cancellable | Nil) : String | Nil #

Reads a UTF-8 encoded line from the data input stream.

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


[View source]
def read_uint16(cancellable : Gio::Cancellable | Nil) : UInt16 #

Reads an unsigned 16-bit/2-byte value from stream.

In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().


[View source]
def read_uint32(cancellable : Gio::Cancellable | Nil) : UInt32 #

Reads an unsigned 32-bit/4-byte value from stream.

In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().

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


[View source]
def read_uint64(cancellable : Gio::Cancellable | Nil) : UInt64 #

Reads an unsigned 64-bit/8-byte value from stream.

In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order().

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


[View source]
def read_until(stop_chars : String, cancellable : Gio::Cancellable | Nil) : String #

Reads a string from the data input stream, up to the first occurrence of any of the stop characters.

Note that, in contrast to g_data_input_stream_read_until_async(), this function consumes the stop character that it finds.

Don't use this function in new code. Its functionality is inconsistent with g_data_input_stream_read_until_async(). Both functions will be marked as deprecated in a future release. Use g_data_input_stream_read_upto() instead, but note that that function does not consume the stop character.

DEPRECATED


[View source]
def read_until_async(stop_chars : String, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

The asynchronous version of g_data_input_stream_read_until(). It is an error to have two outstanding calls to this function.

Note that, in contrast to g_data_input_stream_read_until(), this function does not consume the stop character that it finds. You must read it for yourself.

When the operation is finished, callback will be called. You can then call g_data_input_stream_read_until_finish() to get the result of the operation.

Don't use this function in new code. Its functionality is inconsistent with g_data_input_stream_read_until(). Both functions will be marked as deprecated in a future release. Use g_data_input_stream_read_upto_async() instead.

DEPRECATED


[View source]
def read_until_finish(result : Gio::AsyncResult) : String #

Finish an asynchronous call started by g_data_input_stream_read_until_async().

DEPRECATED


[View source]
def read_upto(stop_chars : String, stop_chars_len : Int64, cancellable : Gio::Cancellable | Nil) : String #

Reads a string from the data input stream, up to the first occurrence of any of the stop characters.

In contrast to g_data_input_stream_read_until(), this function does not consume the stop character. You have to use g_data_input_stream_read_byte() to get it before calling g_data_input_stream_read_upto() again.

Note that stop_chars may contain '\0' if stop_chars_len is specified.

The returned string will always be nul-terminated on success.


[View source]
def read_upto_async(stop_chars : String, stop_chars_len : Int64, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

The asynchronous version of g_data_input_stream_read_upto(). It is an error to have two outstanding calls to this function.

In contrast to g_data_input_stream_read_until(), this function does not consume the stop character. You have to use g_data_input_stream_read_byte() to get it before calling g_data_input_stream_read_upto() again.

Note that stop_chars may contain '\0' if stop_chars_len is specified.

When the operation is finished, callback will be called. You can then call g_data_input_stream_read_upto_finish() to get the result of the operation.


[View source]
def read_upto_finish(result : Gio::AsyncResult) : String #

Finish an asynchronous call started by g_data_input_stream_read_upto_async().

Note that this function does not consume the stop character. You have to use g_data_input_stream_read_byte() to get it before calling g_data_input_stream_read_upto_async() again.

The returned string will always be nul-terminated on success.


[View source]