类
GioMemoryOutputStream
描述 [源]
class Gio.MemoryOutputStream : Gio.OutputStream
implements Gio.PollableOutputStream, Gio.Seekable {
/* No available fields */
}
GMemoryOutputStream
是一个类,用于将任意内存块用作 GIO 流式输出操作的输出。
截至 GLib 2.34,GMemoryOutputStream
简单地实现了 GPollableOutputStream
:它始终处于就绪状态。
构造函数
g_memory_output_stream_new_resizable
创建一个新的 GMemoryOutputStream
,使用 g_realloc()
和 g_free()
进行内存分配。
自从:2.36
实例方法
g_memory_output_stream_steal_data
从 ostream
获取任何已负载的数据。数据的所有权转移给调用者;不再需要时,必须使用在 ostream
的 GMemoryOutputStream:destroy-function
属性中设置的释放函数进行释放。
自从:2.26
从 GOutputStream 继承的方法(31)
请参阅 GOutputStream 以获取方法的完整列表。
从 GPollableOutputStream 继承的方法(5)
请参阅 GPollableOutputStream 以获取方法的完整列表。
从 GObject 继承的方法(43)
请参阅 GObject 以获取方法的完整列表。
从 GPollableOutputStream 继承的方法(5)
g_pollable_output_stream_can_poll
检查 stream
是否实际可轮询。某些类可能会实现 GPollableOutputStream
但仅有的某些类的实例可轮询。如果此方法返回 FALSE
,则其他 GPollableOutputStream
方法的行为是未定义的。
自从:2.28
g_pollable_output_stream_can_poll
g_pollable_output_stream_create_source
创建一个在 stream
可写入时、或 cancellable
被触发或发生错误时触发的 GSource
。源上的回调用 GPollableSourceFunc
类型。
g_pollable_output_stream_can_poll
g_pollable_output_stream_write_nonblocking
尝试从 buffer
中写入最多 count
个字节到 stream
,类似于 g_output_stream_write()。如果 stream
当前不可写,将立即返回 G_IO_ERROR_WOULD_BLOCK
,此时可以使用 g_pollable_output_stream_create_source()
创建一个将在 stream
可写时被触发的 GSource
。
g_pollable_output_stream_writev_nonblocking
尝试将存储在 n_vectors
和 vectors
中的字节写入 stream
,类似于 g_output_stream_writev()。如果 stream
当前不可写,将立即返回 %G_POLLABLE_RETURN_WOULD_BLOCK
,此时可以使用 g_pollable_output_stream_create_source()
创建一个将在 stream
可写时被触发的 GSource
。在这种情况下,error
将不会被设置。
since: 2.60
从 GSeekable 继承的方法 (5)
g_seekable_can_seek
测试流是否支持 GSeekableIface
。
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(), 等方式设置了值时,发出该信号。
类结构
struct GioMemoryOutputStreamClass {
GOutputStreamClass parent_class;
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
}
无描述。
类成员
parent_class: GOutputStreamClass
无描述。
_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 )
无描述。