类
GioMemoryInputStream
描述 [源]
class Gio.MemoryInputStream : Gio.InputStream
implements Gio.PollableInputStream, Gio.Seekable {
/* No available fields */
}
GMemoryInputStream 是一个用于将任意内存块用作 GIO 流输入操作的类。
截至 GLib 2.34,GMemoryInputStream 实现了 GPollableInputStream。
实例方法
从 GInputStream 继承的方法 (19)
g_input_stream_clear_pending
清除 stream 上的挂起标志。
g_input_stream_close
关闭流,释放与它相关的资源。
g_input_stream_close_async
请求异步关闭流,释放与它相关的资源。操作完成后,将调用 callback。然后可以调用 g_input_stream_close_finish() 以获取操作的结果。
g_input_stream_close_finish
完成 g_input_stream_close_async() 启动的异步流关闭操作。
g_input_stream_has_pending
检查输入流是否有挂起的操作。
g_input_stream_is_closed
检查输入流是否已关闭。
g_input_stream_read
尝试从流中读取 count 字节到从 buffer 开始的缓冲区。在此读取期间将阻塞。
g_input_stream_read_all
尝试从流中读取 count 字节到从 buffer 开始的缓冲区。在此读取期间将阻塞。
g_input_stream_read_all_async
请求异步读取从流中到从 buffer 开始的缓冲区的 count 字节。
自 2.44起新增
g_input_stream_read_all_finish
完成 g_input_stream_read_all_async() 启动的异步流读取操作。
自 2.44起新增
g_input_stream_read_async
请求异步从流中读取到从 buffer 开始的缓冲区的 count 字节。操作完成后,将调用 callback。然后可以调用 g_input_stream_read_finish() 来获取操作的结果。
g_input_stream_read_bytes
与 g_input_stream_read() 类似,这也尝试以阻塞方式从流中读取 count 字节。然而,而不是将数据读取到用户提供的缓冲区中,它将创建一个新的 GBytes,包含读取的数据。这可能更容易从语言绑定中使用。
自 2.34起新增
g_input_stream_read_bytes_async
请求异步从流中读取 count 字节到一个新的 GBytes。操作完成后,将调用 callback。然后可以调用 g_input_stream_read_bytes_finish() 来获取操作的结果。
自 2.34起新增
g_input_stream_read_bytes_finish
完成一个异步流读取到 GBytes 的操作。
自 2.34起新增
g_input_stream_read_finish
完成异步流读取操作。
g_input_stream_set_pending
将stream设置为有挂起操作。如果挂起标志已经设置或stream已关闭,它将返回FALSE并设置error。
g_input_stream_skip
尝试从流中跳过count个字节。在操作期间会阻塞。
g_input_stream_skip_async
请求流中异步跳过count个字节。操作完成后,将调用callback。然后您可以调用g_input_stream_skip_finish()以获取操作的结果。
g_input_stream_skip_finish
完成流跳过操作。
从GPollableInputStream继承的方法(4个)
g_pollable_input_stream_can_poll
检查stream是否可轮询。有些类可能实现了GPollableInputStream,但只有该类的一些实例是可轮询的。如果此方法返回FALSE,则其他GPollableInputStream方法的操作是未定义的。
since: 2.28
g_pollable_input_stream_create_source
创建一个当stream可读或cancellable被触发或发生错误时触发的GSource。源上的回调为GPollableSourceFunc类型。
since: 2.28
g_pollable_input_stream_is_readable
检查stream是否可读。
since: 2.28
g_pollable_input_stream_read_nonblocking
尝试从stream中读取到buffer中的最多count个字节,就像在g_input_stream_read()中一样。如果stream目前不可读,这将立即返回G_IO_ERROR_WOULD_BLOCK,您可以使用g_pollable_input_stream_create_source()创建一个将在stream可读时触发的GSource。
从GSeekable继承的方法(5个)
g_seekable_can_seek
测试流是否支持GBrowsableFace。
g_seekable_can_truncate
测试流的长度是否可以通过g_seekable_truncate()调整。
g_seekable_seek
通过给定的offset,通过type修改,在流中查找。
g_seekable_tell
告诉流中的当前位置。
g_seekable_truncate
将流的长度设置为offset。如果流之前大于offset,则丢弃额外的数据。如果流之前小于offset,则使用NUL(‘\0’)字节扩展。
信号
从GObject继承的信号(1个)
GObject::notify
当对象的一个属性值通过g_object_set_property()、g_object_set()等设置时,发出notify信号。
类结构
struct GioMemoryInputStreamClass {
GInputStreamClass parent_class;
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
}
无描述。
类成员
parent_class: GInputStreamClass无描述。
_g_reserved1: void (* _g_reserved1) ( void )无描述。
_g_reserved2: void (* _g_reserved2) ( void )无描述。
_g_reserved3: void (* _g_reserved3) ( void )无描述。
_g_reserved4: void (* _g_reserved4) ( void )无描述。
_g_reserved5: void (* _g_reserved5) ( void )无描述。