aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-module.h
diff options
context:
space:
mode:
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);