Basics

Guides

API Reference

Menu

Basics

Guides

API Reference

class: IOChannel

[39:7] extends: object

The GIOChannel data type aims to provide a portable method for using file descriptors, pipes, and sockets, and integrating them into the main event loop (see [struct@GLib.MainContext]). Currently, full support is available on UNIX platforms; support for Windows is only partially complete. To create a new GIOChannel on UNIX systems use [ctor@GLib.IOChannel.unix_new]. This works for plain file descriptors, pipes and sockets. Alternatively, a channel can be created for a file in a system independent manner using [ctor@GLib.IOChannel.new_file]. Once a GIOChannel has been created, it can be used in a generic manner with the functions [method@GLib.IOChannel.read_chars], [method@GLib.IOChannel.write_chars], [method@GLib.IOChannel.seek_position], and [method@GLib.IOChannel.shutdown]. To add a GIOChannel to the main event loop, use [func@GLib.io_add_watch] or [func@GLib.io_add_watch_full]. Here you specify which events you are interested in on the GIOChannel, and provide a function to be called whenever these events occur. GIOChannel instances are created with an initial reference count of 1. [method@GLib.IOChannel.ref] and [method@GLib.IOChannel.unref] can be used to increment or decrement the reference count respectively. When the reference count falls to 0, the GIOChannel is freed. (Though it isn’t closed automatically, unless it was created using [ctor@GLib.IOChannel.new_file].) Using [func@GLib.io_add_watch] or [func@GLib.io_add_watch_full] increments a channel’s reference count. The new functions [method@GLib.IOChannel.read_chars], [method@GLib.IOChannel.read_line], [method@GLib.IOChannel.read_line_string], [method@GLib.IOChannel.read_to_end], [method@GLib.IOChannel.write_chars], [method@GLib.IOChannel.seek_position], and [method@GLib.IOChannel.flush] should not be mixed with the deprecated functions [method@GLib.IOChannel.read], [method@GLib.IOChannel.write], and [method@GLib.IOChannel.seek] on the same channel.

Members

  • handleObj
  • lib
  • retainedCallbacks
  • signalHandlerNames
  • signalSetterHandlers

Methods

  • IOChannel (Handle = null)

    Creates a new IOChannel by wrapping a native handle or another wrapper.

    • @p Handle is the native handle or another wrapper whose handle to adopt.
  • toNativeHandle (Source)

    Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from fn.call(...), another generated wrapper exposing handle(), or null. Returns null when the argument carries no pointer.

    • @p Source is the raw handle, raw buffer, wrapper, or null.
    • @r A raw pointer carrier or null when no pointer is present.
  • getLib ()

    Returns the opened native library for this generated wrapper.

    • @r The opened native library.
  • handle ()

    Returns the wrapped NativeHandle.

    • @r The wrapped NativeHandle.
  • isNull ()

    Returns true when the wrapped handle is null.

    • @r A bool.
  • describe ()

    Returns a small string for debugging generated wrappers.

    • @r A string.