aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-utils.c')
-rw-r--r--mail/em-utils.c142
1 files changed, 0 insertions, 142 deletions
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 14a8706c21..81a702ce6b 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -1450,148 +1450,6 @@ em_utils_folder_name_from_uri (const gchar *uri)
return folder_name;
}
-/* email: uri's are based on the account, with special cases for local
- * stores, vfolder and local mail.
- * e.g.
- * imap account imap://user@host/ -> email://accountid@accountid.host/
- * vfolder vfolder:/storage/path#folder -> email://vfolder@local/folder
- * local local:/storage/path#folder -> email://local@local/folder
- */
-
-gchar *em_uri_from_camel (const gchar *curi)
-{
- CamelURL *curl;
- EAccount *account;
- const gchar *uid, *path;
- gchar *euri, *tmp;
- CamelProvider *provider;
-
- /* Easiest solution to code that shouldnt be calling us */
- if (!strncmp(curi, "email:", 6))
- return g_strdup (curi);
-
- provider = camel_provider_get (curi, NULL);
- if (provider == NULL) {
- d(printf("em uri from camel failed '%s'\n", curi));
- return g_strdup (curi);
- }
-
- curl = camel_url_new (curi, NULL);
- if (curl == NULL)
- return g_strdup (curi);
-
- if (strcmp(curl->protocol, "vfolder") == 0)
- uid = "vfolder@local";
- else if ((account = e_get_account_by_source_url (curi)) == NULL)
- uid = "local@local";
- else
- uid = account->uid;
- path = (provider->url_flags & CAMEL_URL_FRAGMENT_IS_PATH)?curl->fragment:curl->path;
- if (path) {
- if (path[0] == '/')
- path++;
-
- tmp = camel_url_encode(path, ";?");
- euri = g_strdup_printf("email://%s/%s", uid, tmp);
- g_free (tmp);
- } else {
- euri = g_strdup_printf("email://%s/", uid);
- }
-
- d(printf("em uri from camel '%s' -> '%s'\n", curi, euri));
-
- camel_url_free (curl);
-
- return euri;
-}
-
-gchar *em_uri_to_camel (const gchar *euri)
-{
- EAccountList *account_list;
- const EAccount *account;
- EAccountService *service;
- CamelProvider *provider;
- CamelURL *eurl, *curl;
- gchar *uid, *curi;
-
- if (strncmp(euri, "email:", 6) != 0) {
- d(printf("em uri to camel not euri '%s'\n", euri));
- return g_strdup (euri);
- }
-
- eurl = camel_url_new (euri, NULL);
- if (eurl == NULL)
- return g_strdup (euri);
-
- g_return_val_if_fail (eurl->host != NULL, g_strdup (euri));
-
- if (eurl->user != NULL) {
- /* Sigh, shoul'dve used mbox@local for mailboxes, not local@local */
- if (strcmp(eurl->host, "local") == 0
- && (strcmp(eurl->user, "local") == 0 || strcmp(eurl->user, "vfolder") == 0)) {
- gchar *base;
-
- if (strcmp(eurl->user, "vfolder") == 0)
- curl = camel_url_new("vfolder:", NULL);
- else
- curl = camel_url_new("maildir:", NULL);
-
- base = g_strdup_printf("%s/mail/%s", e_get_user_data_dir(), eurl->user);
-#ifdef G_OS_WIN32
- /* Turn backslashes into slashes to avoid URI encoding */
- {
- gchar *p = base;
- while ((p = strchr (p, '\\')))
- *p++ = '/';
- }
-#endif
- camel_url_set_path (curl, base);
- g_free (base);
- camel_url_set_fragment (curl, eurl->path[0]=='/'?eurl->path+1:eurl->path);
- curi = camel_url_to_string (curl, 0);
- camel_url_free (curl);
- camel_url_free (eurl);
-
- d(printf("em uri to camel local '%s' -> '%s'\n", euri, curi));
- return curi;
- }
-
- uid = g_strdup_printf("%s@%s", eurl->user, eurl->host);
- } else {
- uid = g_strdup (eurl->host);
- }
-
- account_list = e_get_account_list ();
- account = e_account_list_find (account_list, E_ACCOUNT_FIND_UID, uid);
- g_free (uid);
-
- if (account == NULL) {
- camel_url_free (eurl);
- d(printf("em uri to camel no account '%s' -> '%s'\n", euri, euri));
- return g_strdup (euri);
- }
-
- service = account->source;
- provider = camel_provider_get (service->url, NULL);
- if (provider == NULL)
- return g_strdup (euri);
-
- curl = camel_url_new (service->url, NULL);
- if (provider->url_flags & CAMEL_URL_FRAGMENT_IS_PATH)
- camel_url_set_fragment (curl, eurl->path[0]=='/'?eurl->path+1:eurl->path);
- else
- camel_url_set_path (curl, eurl->path);
-
- curi = camel_url_to_string (curl, 0);
-
- camel_url_free (eurl);
- camel_url_free (curl);
-
- d(printf("em uri to camel '%s' -> '%s'\n", euri, curi));
-
- return curi;
-}
-
/* ********************************************************************** */
/* runs sync, in main thread */