*** Welcome to piglix ***

GObject

GObject
Developer(s) The GNOME Project
Initial release 11 March 2002; 15 years ago (2002-03-11)
Stable release 2.50.0 (September 19, 2016; 6 months ago (2016-09-19))
Written in C
Operating system Cross-platform
Available in Multilingual
Type Software library
License GNU LGPL
Website developer.gnome.org/gobject/stable/

The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability. GObject is designed for use both directly in C programs to provide object-oriented C-based APIs and through bindings to other languages to provide transparent cross-language interoperability, e.g. PyGObject.

Depending only on GLib and libc, GObject is a cornerstone of GNOME and is used throughout GTK+, Pango, ATK, and most higher-level GNOME libraries like GStreamer and applications. Prior to GTK+ 2.0, code similar to GObject was part of the GTK+ codebase. (The name “GObject” was not yet in use — the common baseclass was called GtkObject.)

At the release of GTK+ 2.0, the object system was extracted into a separate library due to its general utility. In the process, most non-GUI-specific parts of the GtkObject class were moved up into GObject, the new common baseclass. Having existed as a separate library since March 11, 2002 (the release date of GTK+ 2.0), the GObject library is now used by many non-GUI programs such as command-line and server applications.

Though GObject has its own separate set of documentation and is usually compiled into its own shared library file, the source code for GObject resides in the GLib source tree and is distributed along with GLib. For this reason, GObject uses the GLib version numbers and is typically packaged together with GLib (for example, Debian puts GObject in its libglib2.0 package family).


...
Wikipedia

...