GioInputStream

描述 [源]

abstract class Gio.InputStream : GObject.Object
{
  /* No available fields */
}

GInputStream是实现流输入的基类。

它提供了从流中读取数据(g_input_stream_read()),关闭流(g_input_stream_close())以及跳过一些内容(g_input_stream_skip())的功能。

为了将输入流的内容复制到输出流,而无需手动处理读取和写入,请使用g_output_stream_splice()

有关流API的线程安全的详细信息,请参阅GIOStream的相关文档。

所有这些函数都有异步版本。

祖先

实例方法

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

请求对从 count 字节开始的流到 buffer 的缓冲区进行异步读取。

自版本 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

请求异步从流到新的 GBytes 读取 count 字节。当操作完成后,将调用 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

完成流跳过操作。

GObject 继承的方法(43个)

请参阅 GObject 获取方法列表的完整列表。

信号

GObject 继承的信号(1个)
GObject::notify

当通过 g_object_set_property(), g_object_set(), 等. 等设置对象的某个属性值时,会在对象上发出通知信号。

类结构

struct GioInputStreamClass {
  GObjectClass parent_class;
  gssize (* read_fn) (
    GInputStream* stream,
    void* buffer,
    gsize count,
    GCancellable* cancellable,
    GError** error
  );
  gssize (* skip) (
    GInputStream* stream,
    gsize count,
    GCancellable* cancellable,
    GError** error
  );
  gboolean (* close_fn) (
    GInputStream* stream,
    GCancellable* cancellable,
    GError** error
  );
  void (* read_async) (
    GInputStream* stream,
    void* buffer,
    gsize count,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gssize (* read_finish) (
    GInputStream* stream,
    GAsyncResult* result,
    GError** error
  );
  void (* skip_async) (
    GInputStream* stream,
    gsize count,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gssize (* skip_finish) (
    GInputStream* stream,
    GAsyncResult* result,
    GError** error
  );
  void (* close_async) (
    GInputStream* stream,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* close_finish) (
    GInputStream* stream,
    GAsyncResult* result,
    GError** error
  );
  void (* _g_reserved1) (
void
  );
  void (* _g_reserved2) (
void
  );
  void (* _g_reserved3) (
void
  );
  void (* _g_reserved4) (
void
  );
  void (* _g_reserved5) (
void
  );
  
}

没有可用的描述。

类成员
parent_class: GObjectClass

没有可用的描述。

read_fn: gssize (* read_fn) ( GInputStream* stream, void* buffer, gsize count, GCancellable* cancellable, GError** error )

没有可用的描述。

skip: gssize (* skip) ( GInputStream* stream, gsize count, GCancellable* cancellable, GError** error )

没有可用的描述。

close_fn: gboolean (* close_fn) ( GInputStream* stream, GCancellable* cancellable, GError** error )

没有可用的描述。

read_async: void (* read_async) ( GInputStream* stream, void* buffer, gsize count, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )

没有可用的描述。

read_finish: gssize (* read_finish) ( GInputStream* stream, GAsyncResult* result, GError** error )

没有可用的描述。

skip_async: void (* skip_async) ( GInputStream* stream, gsize count, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )

没有可用的描述。

skip_finish: gssize (* skip_finish) ( GInputStream* stream, GAsyncResult* result, GError** error )

没有可用的描述。

close_async: void (* close_async) ( GInputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )

没有可用的描述。

close_finish: gboolean (* close_finish) ( GInputStream* stream, GAsyncResult* result, GError** error )

没有可用的描述。

_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 (* _gReserved5) ( void )

没有可用的描述。

虚拟方法

Gio.InputStreamClass.close_async

请求异步关闭流,释放与之相关的资源。当操作完成后,将调用callback。然后您可以调用g_input_stream_close_finish()以获取操作的结果。

Gio.InputStreamClass.close_finish

完成从g_input_stream_close_async()开始的异步流关闭。

Gio.InputStreamClass.close_fn
没有可用的描述。

Gio.InputStreamClass.read_async

请求从流到从 buffer 开始的缓冲区异步读取 count 字节。当操作完成后,将调用 callback。您可以通过调用 g_input_stream_read_finish() 来获取操作结果。

Gio.InputStreamClass.read_finish

完成异步流读取操作。

Gio.InputStreamClass.read_fn
没有可用的描述。

Gio.InputStreamClass.skip

尝试从流中跳过 count 字节。在此操作过程中会阻塞。

Gio.InputStreamClass.skip_async

请求异步从流中跳过 count 字节。当操作完成后,将调用 callback。然后您可以通过调用 g_input_stream_skip_finish() 来获取操作结果。

Gio.InputStreamClass.skip_finish

完成流跳过操作。