aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-component.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-component.c')
-rw-r--r--mail/mail-component.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/mail/mail-component.c b/mail/mail-component.c
index 744ec83ad3..442b17e9ac 100644
--- a/mail/mail-component.c
+++ b/mail/mail-component.c
@@ -400,7 +400,7 @@ impl_requestCreateItem (PortableServer_Servant servant,
}
static void
-impl_handleURI (PortableServer_Servant servant, const CORBA_char *uri, CORBA_Environment *ev)
+impl_handleURI (PortableServer_Servant servant, const char *uri, CORBA_Environment *ev)
{
if (!strncmp (uri, "mailto:", 7)) {
em_utils_compose_new_message_with_mailto (uri);
@@ -413,6 +413,29 @@ impl_sendAndReceive (PortableServer_Servant servant, CORBA_Environment *ev)
mail_send_receive ();
}
+static gboolean
+impl_upgradeFromVersion (PortableServer_Servant servant, short major, short minor, short revision, CORBA_Environment *ev)
+{
+ CamelException ex;
+
+ camel_exception_init (&ex);
+
+ switch (major) {
+ case 1:
+ switch (minor) {
+ case 0:
+ case 2:
+ case 4:
+ em_migrate (mail_component_peek (), &ex);
+ break;
+ }
+ break;
+ }
+
+ camel_exception_clear (&ex);
+
+ return TRUE;
+}
/* Initialization. */
@@ -432,6 +455,7 @@ mail_component_class_init (MailComponentClass *class)
epv->requestCreateItem = impl_requestCreateItem;
epv->handleURI = impl_handleURI;
epv->sendAndReceive = impl_sendAndReceive;
+ epv->upgradeFromVersion = impl_upgradeFromVersion;
}
static void