Interface
GioConverter
since: 2.24
Description [src]
interface Gio.Converter : GObject.Object
GConverter
is an interface for streaming conversions.
GConverter
is implemented by objects that convert
binary data in various ways. The conversion can be
stateful and may fail at any place.
Some example conversions are: character set conversion, compression, decompression and regular expression replace.
Available since: 2.24
Prerequisite
In order to implement Converter, your type must inherit fromGObject
.
Instance methods
g_converter_convert
This is the main operation used when converting data. It is to be called
multiple times in a loop, and each time it will do some work, i.e.
producing some output (in outbuf
) or consuming some input (from inbuf
) or
both. If its not possible to do any work an error is returned.
since: 2.24
g_converter_reset
Resets all internal state in the converter, making it behave as if it was just created. If the converter has any internal state that would produce output then that output is lost.
since: 2.24
Interface structure
struct GioConverterIface {
GTypeInterface g_iface;
GConverterResult (* convert) (
GConverter* converter,
void* inbuf,
gsize inbuf_size,
void* outbuf,
gsize outbuf_size,
GConverterFlags flags,
gsize* bytes_read,
gsize* bytes_written,
GError** error
);
void (* reset) (
GConverter* converter
);
}
Provides an interface for converting data from one type to another type. The conversion can be stateful and may fail at any place.
Interface members
g_iface |
|
The parent interface. |
|
convert |
|
Converts data. |
|
reset |
|
Reverts the internal state of the converter to its initial state. |
Virtual methods
Gio.Converter.convert
This is the main operation used when converting data. It is to be called
multiple times in a loop, and each time it will do some work, i.e.
producing some output (in outbuf
) or consuming some input (from inbuf
) or
both. If its not possible to do any work an error is returned.
since: 2.24
Gio.Converter.reset
Resets all internal state in the converter, making it behave as if it was just created. If the converter has any internal state that would produce output then that output is lost.
since: 2.24