类
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 )
无描述。