GObject Reference Manual

for GLib 2.10.3

Table of Contents

Introduction
I. Concepts
  Background
    Data types and programming
    Exporting a C API
  The Glib Dynamic Type System
    Copy functions
    Conventions
    Non-Instantiable non-classed fundamental types
    Instantiable classed types: objects
    Non-instantiable classed types: Interfaces.
      Interface Initialization
      Interface Destruction
  The GObject base class
    Object instanciation
    Object memory management
      Reference count
      Weak References
      Reference counts and cycles
    Object properties
      Accessing multiple properties at once
  The GObject messaging system
    Closures
      C Closures
      non-C closures (for the fearless).
    Signals
      Signal registration
      Signal connection
      Signal emission
      The detail argument
II. API Reference
  GType - The GLib Runtime type identification and management system
  GTypePlugin - An interface for dynamically loadable types
  GTypeModule - Type loading modules
  GObject - The base object type
  Enums and Flags - Enumeration and flags types
  GBoxed - A mechanism to wrap opaque C structures registered by the type system
  Generic Values - A polymorphic type that can hold values of any other type
  Parameters and Values - Standard Parameter and Value Types
  Varargs Value Collection - Converting varargs to generic values
  GParamSpec - Metadata for parameter specifications
  Signals - A means for customization of object behaviour and a general purpose notification mechanism
  Closures - Functions as first-class objects
  Value arrays - A container structure to maintain an array of generic values
III. Tools Reference
  glib-mkenums - C language enum description generation utility
  glib-genmarshal - C code marshaller generation utility for GLib closures
  gobject-query - display a tree of types
IV. Tutorial
  How To define and implement a new GObject?
    Boilerplate header code
    Boilerplate code
    Object Construction
    Object Destruction
    Object methods
      Non-virtual public methods
      Virtual public methods
      Virtual private Methods
    Chaining up
  How To define and implement Interfaces?
    How To define Interfaces?
    How To define implement an Interface?
    Interface definition prerequisites
    Interface Properties
  Howto create and use signals
    Simple use of signals
    How to provide more flexibility to users?
      How most people do the same thing with less code
    How users can abuse signals (and why some think it is good)
V. Related Tools
  GObject builder
  Graphical inspection of Gobjects
  Debugging reference count problems
  Writing API docs
Index
Index of deprecated symbols
Index of new symbols in 2.2
Index of new symbols in 2.4
Index of new symbols in 2.6
Index of new symbols in 2.8
Index of new symbols in 2.10