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 /shell/e-shell-backend.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 'shell/e-shell-backend.h')
-rw-r--r-- | shell/e-shell-backend.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/shell/e-shell-backend.h b/shell/e-shell-backend.h index df4abc8104..055a2a3322 100644 --- a/shell/e-shell-backend.h +++ b/shell/e-shell-backend.h @@ -24,6 +24,7 @@ #include <shell/e-shell-common.h> #include <e-util/e-activity.h> +#include <e-util/e-extension.h> /* Standard GObject macros */ #define E_TYPE_SHELL_BACKEND \ @@ -60,7 +61,7 @@ typedef struct _EShellBackendPrivate EShellBackendPrivate; * functions below. **/ struct _EShellBackend { - GObject parent; + EExtension parent; EShellBackendPrivate *priv; }; @@ -94,7 +95,7 @@ struct _EShellBackend { * #EShellBackendClass contains a number of important settings for subclasses. **/ struct _EShellBackendClass { - GObjectClass parent_class; + EExtensionClass parent_class; GType shell_view_type; |