for GLib 2.13.0

Table of Contents

I. Concepts
Data types and programming
Exporting a C API
The Glib Dynamic Type System
Copy functions
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
C Closures
non-C closures (for the fearless).
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 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
Index of new symbols in 2.12