mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-09 01:18:43 +02:00
Dealing with GParamSpec is tedious and less efficient than necessary; property definitions should be able to either directly access a struct field or specify the accessors pair that control a property. On top of that, most of the property and accessor definition can be autogenerated from simple pre-processor directives. So, here's to you GProperty. GProperty is a GParamSpec sub-class that encapsulates all the types inside a single, opaque structure (to avoid leaking out implementation details); a GProperty can access the structure member holding the value of the property, or invoke the accessor functions passed to its constructor. Type safety is maintained through the GType system and without having to use GValue. Along with GProperty, this patch introduces a series of macros for automating the declaration and definition of property accessor functions, and for automating the collection and lcopy of values without going through GValue. GObject will recognize whether a GParamSpec used to set or get a property is really a GProperty, and thus will shortcircuit most of the GValue-based marshalled code, preferring the direct C function and direct argument collection instead of boxing/unboxing of GValues. https://bugzilla.gnome.org/show_bug.cgi?id=648526
This package contains the reference documentation for GLib. For more information about Glib, see: http://www.gtk.org For information about contributing to the GLib/GTK+ reference documentation project, see: http://www.gtk.org/rdp/ The GLib reference documentation is freely redistributable, see the file COPYING for details. REQUIREMENTS ============ To build the documentation, you must have the gtk-doc package installed. To rebuild the template files, you must have the current version of the GLib header files installed. BUILD ===== First, run configure to generate the makefiles for this module. There is one option specific to this package --with-html-dir=DIR top of installed HTML documentation tree The Makefiles for this module define three targets: templates: Scan the headers and merge the results with the current template files sgml: Generate SGML files using the DocBook DTD from the template files html: Generate HTML from the SGML files. To build the documentation, do: make sgml make html You should only run the 'make templates' step if you need to regenerate the templates for a more recent version of the GLib sources. INSTALLATION ============ make install