Interface

Gio-2.0GioSeekableInterface

Interface for implementing Seekable. Contains only the virtual methods that need to be implemented.

interface Interface {
    vfunc_can_seek(): boolean;
    vfunc_can_truncate(): boolean;
    vfunc_seek(
        offset: number,
        type: GLib.SeekType,
        cancellable?: Gio.Cancellable,
    ): boolean;
    vfunc_tell(): number;
    vfunc_truncate_fn(offset: number, cancellable?: Gio.Cancellable): boolean;
}

Hierarchy (View Summary)

Index

Methods

  • Tests if the length of the stream can be adjusted with g_seekable_truncate().

    Returns boolean

  • Seeks in the stream by the given offset, modified by type.

    Attempting to seek past the end of the stream will have different results depending on if the stream is fixed-sized or resizable. If the stream is resizable then seeking past the end and then writing will result in zeros filling the empty space. Seeking past the end of a resizable stream and reading will result in EOF. Seeking past the end of a fixed-sized stream will fail.

    Any operation that would result in a negative offset will fail.

    If cancellable is not null, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error Gio.IOErrorEnum.CANCELLED will be returned.

    Parameters

    Returns boolean

  • Sets the length of the stream to offset. If the stream was previously larger than offset, the extra data is discarded. If the stream was previously shorter than offset, it is extended with NUL ('\0') bytes.

    If cancellable is not null, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error Gio.IOErrorEnum.CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error.

    Parameters

    Returns boolean