Removed "imap" from the build and made "imap4" the default.
authorJeffrey Stedfast <fejj@novell.com>
Fri, 21 Jan 2005 18:55:52 +0000 (18:55 +0000)
committerJeffrey Stedfast <fejj@src.gnome.org>
Fri, 21 Jan 2005 18:55:52 +0000 (18:55 +0000)
2005-01-21  Jeffrey Stedfast  <fejj@novell.com>

* providers/Makefile.am: Removed "imap" from the build and made
"imap4" the default.

* providers/imap4/libcamelimap4.urls: Fixed to only list "imap"

* providers/imap4/camel-imap4-provider.c: Changed the 'protocol'
string to "imap" from "imap4" so we override the old imap urls.

* providers/imap4/camel-imap4-summary.c: Updated to load/save in
the same format as the old imap code so no migration is necessary.

camel/ChangeLog
camel/providers/Makefile.am
camel/providers/imap4/camel-imap4-folder.c
camel/providers/imap4/camel-imap4-provider.c
camel/providers/imap4/camel-imap4-summary.c
camel/providers/imap4/camel-imap4-summary.h
camel/providers/imap4/libcamelimap4.urls

index 5e63ebf..caaadcb 100644 (file)
@@ -1,5 +1,16 @@
 2005-01-21  Jeffrey Stedfast  <fejj@novell.com>
 
+       * providers/Makefile.am: Removed "imap" from the build and made
+       "imap4" the default.
+
+       * providers/imap4/libcamelimap4.urls: Fixed to only list "imap"
+
+       * providers/imap4/camel-imap4-provider.c: Changed the 'protocol'
+       string to "imap" from "imap4" so we override the old imap urls.
+
+       * providers/imap4/camel-imap4-summary.c: Updated to load/save in
+       the same format as the old imap code so no migration is necessary.
+
        * camel-offline-journal.c: Same.
 
        * camel-offline-folder.c (camel_offline_folder_downsync): Use a
index 4ae70e9..39f855d 100644 (file)
@@ -8,10 +8,6 @@ if ENABLE_IMAPP
 IMAPP_DIR=imapp
 endif
 
-if ENABLE_IMAP4
-IMAP4_DIR=imap4
-endif
-
-SUBDIRS = pop3 sendmail smtp imap $(NNTP_DIR) local $(IMAPP_DIR) $(IMAP4_DIR) groupwise
+SUBDIRS = pop3 sendmail smtp imap4 $(NNTP_DIR) local $(IMAPP_DIR) groupwise
 
 
index c80de47..6509ad8 100644 (file)
@@ -739,7 +739,7 @@ imap4_get_message (CamelFolder *folder, const char *uid, CamelException *ex)
         * Outlook). Also, some IMAP servers such as GroupWise don't
         * store mail in MIME format and so must re-construct the
         * entire message in order to extract the requested part, so
-        * it is *mush* more efficient (generally) to just request the
+        * it is *much* more efficient (generally) to just request the
         * entire message anyway. */
        ic = camel_imap4_engine_queue (engine, folder, "UID FETCH %s BODY.PEEK[]\r\n", uid);
        camel_imap4_command_register_untagged (ic, "FETCH", untagged_fetch);
index f73814d..9340fce 100644 (file)
@@ -60,8 +60,8 @@ CamelProviderConfEntry imap4_conf_entries[] = {
 };
 
 static CamelProvider imap4_provider = {
-       "imap4",
-       N_("IMAPv4rev1"),
+       "imap",
+       N_("IMAP"),
        
        N_("For reading and storing mail on IMAPv4rev1 servers."),
        
index 6098b70..cf3d290 100644 (file)
@@ -63,7 +63,9 @@ static int imap4_header_save (CamelFolderSummary *summary, FILE *fout);
 static CamelMessageInfo *imap4_message_info_new_from_header (CamelFolderSummary *summary, struct _camel_header_raw *header);
 static CamelMessageInfo *imap4_message_info_load (CamelFolderSummary *summary, FILE *fin);
 static int imap4_message_info_save (CamelFolderSummary *summary, FILE *fout, CamelMessageInfo *info);
-
+static CamelMessageInfo *imap4_message_info_clone (CamelFolderSummary *summary, const CamelMessageInfo *mi);
+static CamelMessageContentInfo *imap4_content_info_load (CamelFolderSummary *summary, FILE *in);
+static int imap4_content_info_save (CamelFolderSummary *summary, FILE *out, CamelMessageContentInfo *info);
 
 static CamelFolderSummaryClass *parent_class = NULL;
 
@@ -100,6 +102,9 @@ camel_imap4_summary_class_init (CamelIMAP4SummaryClass *klass)
        summary_class->message_info_new_from_header = imap4_message_info_new_from_header;
        summary_class->message_info_load = imap4_message_info_load;
        summary_class->message_info_save = imap4_message_info_save;
+       summary_class->message_info_clone = imap4_message_info_clone;
+       summary_class->content_info_load = imap4_content_info_load;
+       summary_class->content_info_save = imap4_content_info_save;
 }
 
 static void
@@ -111,6 +116,7 @@ camel_imap4_summary_init (CamelIMAP4Summary *summary, CamelIMAP4SummaryClass *kl
                CAMEL_MESSAGE_DRAFT | CAMEL_MESSAGE_FLAGGED | CAMEL_MESSAGE_SEEN;
        
        folder_summary->message_info_size = sizeof (CamelIMAP4MessageInfo);
+       folder_summary->content_info_size = sizeof (CamelIMAP4MessageContentInfo);
        
        summary->update_flags = TRUE;
        summary->uidvalidity_changed = FALSE;
@@ -1135,6 +1141,40 @@ imap4_message_info_save (CamelFolderSummary *summary, FILE *fout, CamelMessageIn
        return 0;
 }
 
+static CamelMessageInfo *
+imap4_message_info_clone (CamelFolderSummary *summary, const CamelMessageInfo *mi)
+{
+       const CamelIMAP4MessageInfo *src = (const CamelIMAP4MessageInfo *) mi;
+       CamelIMAP4MessageInfo *dest;
+       
+       dest = (CamelIMAP4MessageInfo *) CAMEL_FOLDER_SUMMARY_CLASS (parent_class)->message_info_clone (summary, mi);
+       dest->server_flags = src->server_flags;
+       
+       /* FIXME: parent clone should do this */
+       dest->info.content = camel_folder_summary_content_info_new (summary);
+       
+       return (CamelMessageInfo *) dest;
+}
+
+static CamelMessageContentInfo *
+imap4_content_info_load (CamelFolderSummary *summary, FILE *in)
+{
+       if (fgetc (in))
+               return CAMEL_FOLDER_SUMMARY_CLASS (parent_class)->content_info_load (summary, in);
+       else
+               return camel_folder_summary_content_info_new (summary);
+}
+
+static int
+imap4_content_info_save (CamelFolderSummary *summary, FILE *out, CamelMessageContentInfo *info)
+{
+       if (info->type) {
+               fputc (1, out);
+               return CAMEL_FOLDER_SUMMARY_CLASS (parent_class)->content_info_save (summary, out, info);
+       } else
+               return fputc (0, out);
+}
+
 
 void
 camel_imap4_summary_set_exists (CamelFolderSummary *summary, guint32 exists)
index f74367f..07fe802 100644 (file)
@@ -39,6 +39,8 @@ extern "C" {
 #define CAMEL_IMAP4_SUMMARY_GET_CLASS(obj)  (CAMEL_CHECK_GET_CLASS ((obj), CAMEL_TYPE_FOLDER_SUMMARY, CamelIMAP4SummaryClass))
 
 typedef struct _CamelIMAP4MessageInfo CamelIMAP4MessageInfo;
+typedef struct _CamelIMAP4MessageContentInfo CamelIMAP4MessageContentInfo;
+
 typedef struct _CamelIMAP4Summary CamelIMAP4Summary;
 typedef struct _CamelIMAP4SummaryClass CamelIMAP4SummaryClass;
 
@@ -50,6 +52,11 @@ struct _CamelIMAP4MessageInfo {
        guint32 server_flags;
 };
 
+struct _CamelIMAP4MessageContentInfo {
+       CamelMessageContentInfo info;
+       
+};
+
 struct _CamelIMAP4Summary {
        CamelFolderSummary parent_object;