接口
转换器接口转换器
自:2.24
描述 [代码]
interface Gio.Converter : GObject.Object
GConverter
是一个用于流式转换的接口。
GConverter
由将二进制数据以各种方式转换的对象实现。转换可以是状态的,并且可能在任何地方失败。
一些示例转换包括:字符集转换、压缩、解压缩和正则表达式替换。
支持自:2.24
先决条件
为了实现转换器,您的类型必须从GObject
继承。
实例方法
g_converter_convert
这是在转换数据时使用的主体操作。需要在循环中多次调用,并且每次都会做一些工作,即产生一些输出(在 outbuf
中)或消耗一些输入(从 inbuf
中),或者两者都有。如果无法执行任何工作,将返回错误。
自:2.24
接口结构
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
);
}
提供了一种将数据从一种类型转换为另一种类型的接口。转换可以是状态的,并且可能在任何地方失败。
接口成员
g_iface |
|
父接口。 |
|
convert |
|
转换数据。 |
|
reset |
|
将转换器的内部状态回退到其初始状态。 |
虚方法
Gio.Converter.convert
这是在转换数据时使用的主体操作。需要在循环中多次调用,并且每次都会做一些工作,即产生一些输出(在 outbuf
中)或消耗一些输入(从 inbuf
中),或者两者都有。如果无法执行任何工作,将返回错误。
自:2.24