Interface
GioSeekable
since: 2.0
Description
interface Gio.Seekable : GObject.Object
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.
Available since: 2.0
Prerequisite
In order to implement Seekable, your type must inherit fromGObject
.
Instance methods
g_seekable_can_truncate
Tests if the length of the stream can be adjusted with g_seekable_truncate().
since: 2.0
g_seekable_truncate
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.
since: 2.0
Interface structure
struct GioSeekableIface {
GTypeInterface g_iface;
goffset (* tell) (
GSeekable* seekable
);
gboolean (* can_seek) (
GSeekable* seekable
);
gboolean (* seek) (
GSeekable* seekable,
goffset offset,
GSeekType type,
GCancellable* cancellable,
GError** error
);
gboolean (* can_truncate) (
GSeekable* seekable
);
gboolean (* truncate_fn) (
GSeekable* seekable,
goffset offset,
GCancellable* cancellable,
GError** error
);
}
Provides an interface for implementing seekable functionality on I/O Streams.
Interface members
g_iface |
|
The parent interface. |
|
tell |
|
No description available. | |
can_seek |
|
No description available. | |
seek |
|
No description available. | |
can_truncate |
|
No description available. | |
truncate_fn |
|
No description available. |
Virtual methods
Gio.Seekable.can_truncate
Tests if the length of the stream can be adjusted with g_seekable_truncate().
since: 2.0
Gio.Seekable.truncate_fn
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.
since: 2.0