aboutsummaryrefslogtreecommitdiffstats
path: root/em-format
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-03-20 05:18:19 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-03-20 23:49:46 +0800
commit84feab41bb9aae3362414ee818139a149a705903 (patch)
tree8c1538fdec5a32e1a24e619e8d5d3707f668393c /em-format
parent3a6669b8da6ef619dccee17c8ff24d4eb1f89ab9 (diff)
downloadgsoc2013-evolution-84feab41bb9aae3362414ee818139a149a705903.tar.gz
gsoc2013-evolution-84feab41bb9aae3362414ee818139a149a705903.tar.zst
gsoc2013-evolution-84feab41bb9aae3362414ee818139a149a705903.zip
Introduce a simple extension system for objects.
This introduces a simple means of extending Evolution objects. Any GObject subclass wishing to be extensible need only call g_type_add_interface_static (type, E_TYPE_EXTENSIBLE, NULL); when registering its GType, and then at some point during initialization call e_extensible_load_extensions() to load extensions for that subclass. Extensions are implemented by subclassing EExtension, setting the GType being extended in EExtensionClass, and making sure its own GType gets registered at startup. This usually done while loading a GTypeModule. e_extension_get_extensible() provides extensions access to the object being extended.
Diffstat (limited to 'em-format')
0 files changed, 0 insertions, 0 deletions