gio.seekable
Module for [Seekable] interface
Types 2
interfaceSeekable
[gio.seekable.Seekable] is implemented by streams (implementations of [gio.input_stream.InputStream] or [gio.output_stream.OutputStream]) that support seeking.
Seekable streams largely fall into two categories: resizable and fixed-size.
[gio.seekable.Seekable] 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.
[gio.seekable.Seekable] 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.
Methods
bool canSeek()Tests if the stream supports the #GSeekableIface. Returns: true if seekable can be seeked. false otherwise.bool canTruncate()Tests if the length of the stream can be adjusted with [gio.seekable.Seekable.truncate]. Returns: true if the stream can be truncated, false otherwise.bool seek(long offset, glib.types.SeekType type, gio.cancellable.Cancellable cancellable = null)Seeks in the stream by the given offset, modified by type.long tell()Tells the current position within the stream. Returns: the (positive or zero) offset from the beginning of the buffer, zero if the target is not seekable.bool truncate(long offset, gio.cancellable.Cancellable cancellable = null)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...interfaceSeekableGidBuilderImpl(T)