From 6d1aea1b231c120441061c2046157b40e34f8e3a Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 5 Oct 2008 04:12:09 +0000 Subject: 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 --- shell/e-shell-module.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'shell/e-shell-module.h') 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); -- cgit v1.2.3