diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-03-22 10:22:57 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-03-22 11:30:44 +0800 |
commit | 906f93a130d8d670c4b5213c2c2bf03c47c02337 (patch) | |
tree | 049d65401eae28e21b98c27bd9e73a8275f94bcb /e-util/e-extensible.h | |
parent | 5368aec9721e9ccd97280d05e6916e1197fa14a1 (diff) | |
download | gsoc2013-evolution-906f93a130d8d670c4b5213c2c2bf03c47c02337.tar.gz gsoc2013-evolution-906f93a130d8d670c4b5213c2c2bf03c47c02337.tar.zst gsoc2013-evolution-906f93a130d8d670c4b5213c2c2bf03c47c02337.zip |
Demonstrate extending the EExtension API.
Introduce e_extensible_list_extensions(), which provides extensible
objects access to their own extensions, or a subset of them.
Convert EShellBackend to an abstract EExtension subtype. EShell will
load its extensions with e_extensible_load_extensions(), and then obtain
a list of EShellBackend extensions as follows:
shell_backends = e_extensible_list_extensions (
E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND);
Because EShellBackend is abstract, its GType is skipped while traversing
the GType hierarchy to find EShell extensions.
Diffstat (limited to 'e-util/e-extensible.h')
-rw-r--r-- | e-util/e-extensible.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/e-util/e-extensible.h b/e-util/e-extensible.h index a72ea71611..6dd6294212 100644 --- a/e-util/e-extensible.h +++ b/e-util/e-extensible.h @@ -51,6 +51,8 @@ struct _EExtensibleInterface { GType e_extensible_get_type (void); void e_extensible_load_extensions (EExtensible *extensible); +GList * e_extensible_list_extensions (EExtensible *extensible, + GType extension_type); G_END_DECLS |