类
GioOutputStream
描述 [src]
abstract class Gio.OutputStream : GObject.Object
{
/* No available fields */
}
GOutputStream
是实现流输出的基类。
它有写入流(g_output_stream_write()
),关闭流(g_output_stream_close()
)和刷新挂起的写入(g_output_stream_flush()
)的功能。
要复制输入流的内容到输出流,而不手动处理读取和写入,请使用g_output_stream_splice()
。
有关流API线程安全的详细信息,请参阅GIOStream
的文档。
所有这些函数都有异步版本。
所有从GOutputStream
派生的类应该实现同步写入、拼接、刷新和关闭流的操作,但可能实现异步版本。
实例方法
g_output_stream_close_async
请求异步关闭流,释放与其相关的资源。当操作完成后,将调用 callback
。然后您可以调用 g_output_stream_close_finish()
来获取操作结果。
g_output_stream_printf
这是围绕 g_output_stream_write_all() 的一个实用函数。它使用 g_strdup_vprintf()
将 format
和 @… 转换为字符串,然后将该字符串写入到 stream
中。
since: 2.40
g_output_stream_splice_async
异步拼接流。当操作完成后,将调用 callback
。然后您可以调用 g_output_stream_splice_finish()
来获取操作结果。
g_output_stream_vprintf
这是围绕 g_output_stream_write_all() 的一个实用函数。它使用 g_strdup_vprintf()
将 format
和 args
转换为字符串,然后将该字符串写入到 stream
中。
since: 2.40
g_output_stream_write_all_async
请求异步将从 buffer
中的 count
字节写入流中。当操作完成后,将调用 callback
。然后您可以调用 g_output_stream_write_all_finish()
来获取操作结果。
since: 2.44
g_output_stream_write_async
请求将 buffer
中的 count
字节异步写入流中。当操作完成后,将调用 callback
。然后您可以调用 g_output_stream_write_finish()
来获取操作结果。
g_output_stream_write_bytes
是 g_output_stream_write()
的包装函数,它使用一个 GBytes
作为输入。对于语言绑定或在其他情况下,比如当使用 GBytes
的引用计数性质比裸指针接口更有帮助时,这可能更方便。
g_output_stream_write_bytes_async
这个函数与 g_output_stream_write_async() 相似,但它以 GBytes
作为输入。由于 GBytes
具有引用计数的特性,这允许流避免对数据进行复制。
g_output_stream_writev_all_async
请求异步将 n_vectors
个 vector
中的字节数据写入流。当操作完成时,将调用 callback
。然后您可以调用 g_output_stream_writev_all_finish()
来获取操作的结果。
自 2.60 版起
g_output_stream_writev_async
请求异步将 n_vectors
个 vector
中的字节数据写入流。当操作完成时,将调用 callback
。然后您可以调用 g_output_stream_writev_finish()
来获取操作的结果。
自 2.60 版起
信号
从 GObject 继承的信号(1个)
GObject::notify
在对象的一个属性值通过 g_object_set_property(), g_object_set() 等方式设置时,将发出 notify 信号。
类结构
struct GioOutputStreamClass {
GObjectClass parent_class;
gssize (* write_fn) (
GOutputStream* stream,
void* buffer,
gsize count,
GCancellable* cancellable,
GError** error
);
gssize (* splice) (
GOutputStream* stream,
GInputStream* source,
GOutputStreamSpliceFlags flags,
GCancellable* cancellable,
GError** error
);
gboolean (* flush) (
GOutputStream* stream,
GCancellable* cancellable,
GError** error
);
gboolean (* close_fn) (
GOutputStream* stream,
GCancellable* cancellable,
GError** error
);
void (* write_async) (
GOutputStream* stream,
void* buffer,
gsize count,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gssize (* write_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
void (* splice_async) (
GOutputStream* stream,
GInputStream* source,
GOutputStreamSpliceFlags flags,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gssize (* splice_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
void (* flush_async) (
GOutputStream* stream,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gboolean (* flush_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
void (* close_async) (
GOutputStream* stream,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gboolean (* close_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
gboolean (* writev_fn) (
GOutputStream* stream,
const GOutputVector* vectors,
gsize n_vectors,
gsize* bytes_written,
GCancellable* cancellable,
GError** error
);
void (* writev_async) (
GOutputStream* stream,
const GOutputVector* vectors,
gsize n_vectors,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gboolean (* writev_finish) (
GOutputStream* stream,
GAsyncResult* result,
gsize* bytes_written,
GError** error
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
void (* _g_reserved6) (
void
);
void (* _g_reserved7) (
void
);
void (* _g_reserved8) (
void
);
}
暂无描述。
类成员
parent_class: GObjectClass
暂无描述。
write_fn: gssize (* write_fn) ( GOutputStream* stream, void* buffer, gsize count, GCancellable* cancellable, GError** error )
暂无描述。
splice: gssize (* splice) ( GOutputStream* stream, GInputStream* source, GOutputStreamSpliceFlags flags, GCancellable* cancellable, GError** error )
暂无描述。
flush: gboolean (* flush) ( GOutputStream* stream, GCancellable* cancellable, GError** error )
暂无描述。
close_fn: gboolean (* close_fn) ( GOutputStream* stream, GCancellable* cancellable, GError** error )
暂无描述。
write_async: void (* write_async) ( GOutputStream* stream, void* buffer, gsize count, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
暂无描述。
write_finish: gssize (* write_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
暂无描述。
splice_async: void (* splice_async) ( GOutputStream* stream, GInputStream* source, GOutputStreamSpliceFlags flags, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
暂无描述。
splice_finish: gssize (* splice_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
暂无描述。
flush_async: void (* flush_async) ( GOutputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
暂无描述。
flush_finish: gboolean (* flush_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
暂无描述。
close_async: void (* close_async) ( GOutputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
暂无描述。
close_finish: gboolean (* close_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
暂无描述。
writev_fn: gboolean (* writev_fn) ( GOutputStream* stream, const GOutputVector* vectors, gsize n_vectors, gsize* bytes_written, GCancellable* cancellable, GError** error )
暂无描述。
writev_async: void (* writev_async) ( GOutputStream* stream, const GOutputVector* vectors, gsize n_vectors, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
暂无描述。
writev_finish: gboolean (* writev_finish) ( GOutputStream* stream, GAsyncResult* result, gsize* bytes_written, GError** error )
暂无描述。
_g_reserved4: void (* _g_reserved4) ( void )
暂无描述。
_g_reserved5: void (* _g_reserved5) ( void )
暂无描述。
_g_reserved6: void (* _g_reserved6) ( void )
暂无描述。
_g_reserved7: void (* _g_reserved7) ( void )
暂无描述。
_g_reserved8: void (* _g_reserved8) ( void )
暂无描述。
虚拟方法
Gio.OutputStreamClass.close_async
请求异步关闭流,释放与其相关的资源。当操作完成后,将调用 callback
。然后您可以调用 g_output_stream_close_finish()
来获取操作结果。
gio.OutputStreamClass.splice_async
异步拼接流。当操作完成后,将调用 callback
。然后您可以调用 g_output_stream_splice_finish()
来获取操作结果。
gio.OutputStreamClass.write_async
请求将 buffer
中的 count
字节异步写入流中。当操作完成后,将调用 callback
。然后您可以调用 g_output_stream_write_finish()
来获取操作结果。
gio.OutputStreamClass.writev_async
请求异步将 n_vectors
个 vector
中的字节数据写入流。当操作完成时,将调用 callback
。然后您可以调用 g_output_stream_writev_finish()
来获取操作的结果。
自 2.60 版起