From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
Subject: Port to EDS 3.5.

Yet another Evolution API port.

---
 src/mn-evolution-folder-tree-server.gob |   10 +++++++++-
 src/mn-evolution-server.gob             |   15 ++++++++++-----
 2 files changed, 19 insertions(+), 6 deletions(-)

Index: b/src/mn-evolution-folder-tree-server.gob
===================================================================
--- a/src/mn-evolution-folder-tree-server.gob
+++ b/src/mn-evolution-folder-tree-server.gob
@@ -82,7 +82,15 @@ class MN:Evolution:Folder:Tree:Server fr
 
   constructor (self)
   {
-#if EDS_CHECK_VERSION(3,1,0)
+#if EDS_CHECK_VERSION(3,5,0)
+    EShell *shell = e_shell_get_default();
+    EShellBackend *shell_backend = e_shell_get_backend_by_name(shell, "mail");
+    EMailSession *session = e_mail_backend_get_session (shell_backend);
+    GtkWidget *browser = e_mail_browser_new(E_MAIL_BACKEND(shell_backend),
+                                            NULL, NULL, E_MAIL_FORMATTER_MODE_NORMAL);
+    EAlertSink *alert_sink = e_mail_reader_get_alert_sink(E_MAIL_READER(browser));
+    selfp->tree = em_folder_tree_new(session, alert_sink);
+#elif EDS_CHECK_VERSION(3,1,0)
     EShell *shell = e_shell_get_default();
     EShellBackend *shell_backend = e_shell_get_backend_by_name(shell, "mail");
     GtkWidget *browser = e_mail_browser_new(E_MAIL_BACKEND(shell_backend));
Index: b/src/mn-evolution-server.gob
===================================================================
--- a/src/mn-evolution-server.gob
+++ b/src/mn-evolution-server.gob
@@ -182,13 +182,13 @@ class MN:Evolution:Server from G:Object
     return folder;
   }
 
-  private GValueArray *
+  private GArray *
     value_array_new (GType type, ...)
   {
-    GValueArray *value_array;
+    GArray *value_array;
     va_list args;
 
-    value_array = g_value_array_new(0);
+    value_array = g_array_new(FALSE, FALSE, 0);
 
     va_start(args, type);
 
@@ -201,7 +201,7 @@ class MN:Evolution:Server from G:Object
 	G_VALUE_COLLECT(&value, args, 0, &error);
 	g_assert(error == NULL);
 
-	g_value_array_append(value_array, &value);
+	g_array_append_val(value_array, value);
 	g_value_unset(&value);
 
 	type = va_arg(args, GType);
@@ -212,7 +212,7 @@ class MN:Evolution:Server from G:Object
     return value_array;
   }
 
-  private GValueArray *
+  private GArray *
     camel_message_info_to_dbus_struct (CamelMessageInfo *info (check null))
   {
     const CamelSummaryMessageID *id;
@@ -329,7 +329,12 @@ class MN:Evolution:Server from G:Object
 	shell = e_shell_get_default();
 	shell_backend = e_shell_get_backend_by_name(shell, "mail");
 
+#if EDS_CHECK_VERSION(3,5,0)
+	browser = e_mail_browser_new(E_MAIL_BACKEND(shell_backend),
+	                             NULL, NULL, E_MAIL_FORMATTER_MODE_NORMAL);
+#else
 	browser = e_mail_browser_new(E_MAIL_BACKEND(shell_backend));
+#endif
 #if EDS_CHECK_VERSION(3,1,0)
 	e_mail_reader_set_folder(E_MAIL_READER(browser), folder);
 #else
