aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-module.h
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-10-05 12:12:09 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-10-05 12:12:09 +0800
commit6d1aea1b231c120441061c2046157b40e34f8e3a (patch)
treee28bb0e3ea779b19b6d838a3a989ba57aba6324a /shell/e-shell-module.h
parent2c71859895d091f51dea23f9ed9552a0962b7ba4 (diff)
downloadgsoc2013-evolution-6d1aea1b231c120441061c2046157b40e34f8e3a.tar
gsoc2013-evolution-6d1aea1b231c120441061c2046157b40e34f8e3a.tar.gz
gsoc2013-evolution-6d1aea1b231c120441061c2046157b40e34f8e3a.tar.bz2
gsoc2013-evolution-6d1aea1b231c120441061c2046157b40e34f8e3a.tar.lz
gsoc2013-evolution-6d1aea1b231c120441061c2046157b40e34f8e3a.tar.xz
gsoc2013-evolution-6d1aea1b231c120441061c2046157b40e34f8e3a.tar.zst
gsoc2013-evolution-6d1aea1b231c120441061c2046157b40e34f8e3a.zip
Support migration in the new shell design.
Some code got duplicated for calendars and tasks. Made a note to revisit. svn path=/branches/kill-bonobo/; revision=36560
Diffstat (limited to 'shell/e-shell-module.h')
-rw-r--r--shell/e-shell-module.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/shell/e-shell-module.h b/shell/e-shell-module.h
index 8b00660e91..8dff5a1425 100644
--- a/shell/e-shell-module.h
+++ b/shell/e-shell-module.h
@@ -81,6 +81,10 @@ typedef struct _EShellModulePrivate EShellModulePrivate;
* shutting down. Returning %FALSE indicates there
* are still unfinished operations and the #EShell
* should check back shortly.
+ * @migrate: Callback for notifying the module to migrate data and
+ * settings from the given version. Returns %TRUE if the
+ * migration was successful or if no action was necessary.
+ * Returns %FALSE and sets a #GError if the migration failed.
**/
struct _EShellModuleInfo {
const gchar *name;
@@ -90,6 +94,11 @@ struct _EShellModuleInfo {
gboolean (*is_busy) (EShellModule *shell_module);
gboolean (*shutdown) (EShellModule *shell_module);
+ gboolean (*migrate) (EShellModule *shell_module,
+ gint major,
+ gint minor,
+ gint micro,
+ GError **error);
};
/**
@@ -120,6 +129,11 @@ void e_shell_module_add_activity (EShellModule *shell_module,
EActivity *activity);
gboolean e_shell_module_is_busy (EShellModule *shell_module);
gboolean e_shell_module_shutdown (EShellModule *shell_module);
+gboolean e_shell_module_migrate (EShellModule *shell_module,
+ gint major,
+ gint minor,
+ gint micro,
+ GError **error);
void e_shell_module_set_info (EShellModule *shell_module,
const EShellModuleInfo *info);