diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-03-20 05:18:19 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-03-20 23:49:46 +0800 |
commit | 84feab41bb9aae3362414ee818139a149a705903 (patch) | |
tree | 8c1538fdec5a32e1a24e619e8d5d3707f668393c /e-util/e-binding.h | |
parent | 3a6669b8da6ef619dccee17c8ff24d4eb1f89ab9 (diff) | |
download | gsoc2013-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 'e-util/e-binding.h')
0 files changed, 0 insertions, 0 deletions