GIO (software)
- 1 min read
- 1 chapter
Related on Lably
Through Library (computing) and Free and open-source software
GIO serves as low-level system library for the GNOME Shell/GNOME/GTK software stack and is being developed by The GNOME Project. It is maintained as a separate library, libgio-2.0, but it is bundled with GLib. GIO is free and open-source software released under the GNU Lesser General Public License.
Features
- The abstract file system model of GIO consists of a number of interfaces and base classes for I/O and files.
- There are a number of stream classes, similar to the input and output stream hierarchies that can be found in frameworks like Java.
- There are interfaces related to applications and the types of files they handle.
- There is a framework for storing and retrieving application settings.
- file type detection with xdgmime (xdg = X Desktop Group = freedesktop.org)
- file monitoring with inotify
- file monitoring with FAM
- There is support for network programming, including name resolution, lowlevel socket APIs and highlevel client and server helper classes.
- There is support for connecting to D-Bus, sending and receiving messages, owning and watching bus names, and making objects available on the bus.
Beyond these, GIO provides facilities for file monitoring, asynchronous I/O and filename completion. In addition to the interfaces, GIO provides implementations for the local case. Implementations for various network file systems are provided by the GVfs package as loadable modules.

