aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-backend.h
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-03-22 10:22:57 +0800
committerMichael Meeks <michael.meeks@novell.com>2010-04-07 19:13:36 +0800
commit13fb16f2793ee91099b1f2960c1875896991f1c4 (patch)
tree9d5832e48bd514baeb24e158db0693f5a1202f7f /shell/e-shell-backend.h
parent83e36a49baa491609bda692e36006123a7aa079f (diff)
downloadgsoc2013-evolution-13fb16f2793ee91099b1f2960c1875896991f1c4.tar
gsoc2013-evolution-13fb16f2793ee91099b1f2960c1875896991f1c4.tar.gz
gsoc2013-evolution-13fb16f2793ee91099b1f2960c1875896991f1c4.tar.bz2
gsoc2013-evolution-13fb16f2793ee91099b1f2960c1875896991f1c4.tar.lz
gsoc2013-evolution-13fb16f2793ee91099b1f2960c1875896991f1c4.tar.xz
gsoc2013-evolution-13fb16f2793ee91099b1f2960c1875896991f1c4.tar.zst
gsoc2013-evolution-13fb16f2793ee91099b1f2960c1875896991f1c4.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.h5
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;