glib-sharp System.Object GLib.IWrapper System.IDisposable IO Channel class. Provides methods to read and write data to an IO channel. Constructor A UNIX file descriptor. Public constructor. Constructs a channel for a UNIX file descriptor or pipe. Constructor Path to a file. One of "r", "w", "a", "r+", "w+", "a+", with the same meaning as fopen. Public constructor. Constructs a channel for a file with a given mode. Method System.UInt32 Priority level. Default priority is 0. System defined values range from -100 (High priority) to 300 (Low priority). Conditions to notify. Notification callback delegate. Adds a notification watch to the mainloop at a given priority. A source ID which can be removed with . The following example spawns a process to run the pwd command and writes the output to the console using an IOChannel watch: using GLib; using System; public class SpawnTest { public static void Main (string[] args) { new SpawnTest (); } MainLoop main_loop; IOChannel channel; public SpawnTest () { main_loop = new MainLoop (); try { Process proc; int stdin = Process.IgnorePipe; int stdout = Process.RequestPipe; int stderr = Process.IgnorePipe; GLib.Process.SpawnAsyncWithPipes (null, new string[] {"pwd"}, null, SpawnFlags.SearchPath, null, out proc, ref stdin, ref stdout, ref stderr); channel = new IOChannel (stdout); channel.AddWatch (0, IOCondition.In | IOCondition.Hup, new IOFunc (ReadStdout)); } catch (Exception e) { Console.WriteLine ("Exception in Spawn: " + e); } main_loop.Run (); } bool ReadStdout (IOChannel source, IOCondition condition) { if ((condition & IOCondition.In) == IOCondition.In) { string txt; if (source.ReadToEnd (out txt) == IOStatus.Normal) Console.WriteLine ("[SpawnTest output] " + txt); } if ((condition & IOCondition.Hup) == IOCondition.Hup) { source.Dispose (); main_loop.Quit (); return true; } return true; } } Property GLib.IOCondition BufferCondition property. Indicates if there is data to read or room to output to the channel. Property System.Boolean Buffered property. A boolean value indicating if buffering is active. Buffering can only be altered when the is . All other encodings must be buffered. It can only be cleared after the buffer has been flushed. Property System.UInt64 BufferSize property. The buffer size, or 0 to pick a reasonable size. Property System.Boolean CloseOnUnref property. A boolean indicating if the channel should be closed on disposal. Method System.Void Disposes the channel. Property System.String Encoding property. Specifies the native encoding of the channel. Use for binary channels. The default encoding is UTF8. Method GLib.IOChannelError Error number. Converts an error number to an Error value. The error. Property GLib.IOFlags Flags property. The IO Flags for the channel. Method GLib.IOStatus Flushes the write buffer for the channel. Status of the operation. Method GLib.IOChannel Native channel pointer. Wraps a native channel. A managed channel instance. Provided for language binding use. Property System.IntPtr Handle property. A point to the native channel. Provided for language binding use. Method System.Void Init method. Provided for subclassers to initialize derived channels. Property System.Char[] LineTerminator property. The chars representing line termination in the channel. This property is represented as an array of chars to allow for null char terminators. Method GLib.IOStatus Buffer to store the read data. Length of data read. Reads data from the channel. An operation status value. Method fills the buffer with as many complete utf8 characters as possible. Provided primarily for binary data reading in null encodings. Use for text stream reading to strings. Method GLib.IOStatus Returns the next line in the channel. Reads a line from the channel. An operation status value. Method GLib.IOStatus Returns the text read. Location of line terminator. Reads the next line in the channel. An operation status value. Method GLib.IOStatus Returns the text read. Reads to the end of the channel. An operation status value. Method GLib.IOStatus Returns the UCS4 character. Reads a UCS4 character from the channel. An operation status value. Method GLib.IOStatus Byte offset. Base position. Seeks to a position in the channel. An operation status value. Method GLib.IOStatus A boolean indicating if buffer should be flushed. Shuts down a channel. An operation status value. Property System.Int32 UnixFd property. An integer representing the descriptor value. Method GLib.IOStatus Data buffer to write. Returns the number of bytes written. Writes binary data to a channel. An operation status value. Method GLib.IOStatus Text to write. Returns unwritten text. Writes text to the channel. An operation status value. Method GLib.IOStatus A UCS4 character. Writes a UCS4 character to the channel. An operation status value.