module Gio::Seekable

Overview

#GSeekable is implemented by streams (implementations of #GInputStream or #GOutputStream) that support seeking.

Seekable streams largely fall into two categories: resizable and fixed-size.

#GSeekable on fixed-sized streams is approximately the same as POSIX lseek() on a block device (for example: attempting to seek past the end of the device is an error). Fixed streams typically cannot be truncated.

#GSeekable on resizable streams is approximately the same as POSIX lseek() on a normal file. Seeking past the end and writing data will usually cause the stream to resize by introducing zero bytes.

Direct including types

Defined in:

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

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.cast(obj : GObject::Object) : self #

Cast a GObject::Object to self, throws a TypeCastError if the cast can't be made.


[View source]

Class Method Detail

def self.cast?(obj : GObject::Object) : self | Nil #

[View source]
def self.g_type : UInt64 #

[View source]

Instance Method Detail

def can_seek : Bool #

[View source]
def can_truncate : Bool #

[View source]
def seek(offset : Int64, type : GLib::SeekType, cancellable : Gio::Cancellable | Nil) : Bool #

[View source]
def tell : Int64 #

[View source]
abstract def to_unsafe #

[View source]
def truncate(offset : Int64, cancellable : Gio::Cancellable | Nil) : Bool #

[View source]