aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap/camel-imap-store.c
Commit message (Collapse)AuthorAgeFilesLines
* New convenience function to translate a Camel sexp into the equivalentJeffrey Stedfast2000-08-011-31/+38
| | | | | | | | | | | | | | | | 2000-07-31 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-utils.c (imap_translate_sexp): New convenience function to translate a Camel sexp into the equivalent IMAP sexp. * providers/imap/camel-imap-store.c: More places now use imap_next_word * providers/imap/camel-imap-folder.c (imap_search_by_expression): Implemented initial version (this may or may not work quite right) svn path=/trunk/; revision=4428
* fixed a few logic errorsJeffrey Stedfast2000-07-291-2/+2
| | | | svn path=/trunk/; revision=4410
* Cleaned up a bit, now uses imap_next_word() (camel_imap_command_extended):Jeffrey Stedfast2000-07-291-11/+7
| | | | | | | | | | | | | | | | | | | 2000-07-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_status): Cleaned up a bit, now uses imap_next_word() (camel_imap_command_extended): Now uses imap_next_word(). When checking for RECENT, allow the first digit of the recent-count be between 0 and 9 inclusive instead of exclusive. * providers/imap/camel-imap-folder.c (imap_expunge): Optimized. No longer will it need to reload the summary as it now instead removes the appropriate message summaries from the cache. (camel_imap_folder_changed): If recent == 0 then return. If recent < 0 then just emit the folder_changed signal, don't reload summaries. svn path=/trunk/; revision=4409
* Get message count when STATUS is not available. (imap_init):Jeffrey Stedfast2000-07-291-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_count_internal): Get message count when STATUS is not available. (imap_init): folder->has_search_capability is required for IMAP so should always be set to TRUE (is currently being set to FALSE as I've not yet implemented SEARCH support). (camel_imap_folder_changed): Seem to have fixed my optimization hack 2000-07-28 Jon K Hellan <hellan@acm.org> * providers/imap/camel-imap-store.h (CamelImapServerLevel): New enum. (CamelImapStore): Added server_level and has_status_capability members. * providers/imap/camel-imap-store.c (imap_connect): Detect IMAP4REV1, IMAP4 and STATUS in capability response. * providers/imap/camel-imap-folder.c (imap_get_message_count_internal): Use STATUS only if server supports it. TODO: Get message count when STATUS not supported. (imap_get_message, imap_get_summary_internal, imap_get_message_info_internal): Handle IMAP4 as well. (imap_protocol_get_summary_specifier): New function: Make a data item specifier for the header lines we need, appropriate to the server level. svn path=/trunk/; revision=4406
* Added camel-imap-utils.[c,h]Jeffrey Stedfast2000-07-281-49/+21
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-27 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/Makefile.am: Added camel-imap-utils.[c,h] * providers/imap/camel-imap-utils.[c,h]: Utilities for parsing server responses for use in both camel-imap-store.c and camel-imap-folder.c * providers/imap/camel-imap-folder.c (imap_get_summary_internal): Free all the pointers in the headers array. (imap_get_subfolder_names_internal): Updated to use imap_parse_list_response (imap_parse_subfolder_list): Removed in favor of imap_parse_list_response * providers/imap/camel-imap-store.c (camel_imap_command_extended): Free all the pointers in the data array. (imap_connect): Updated to use imap_parse_list_response and fixed a leak (folder_is_selectable): Updated. svn path=/trunk/; revision=4400
* Optimized to try and get the new message headers without reloading theJeffrey Stedfast2000-07-251-1/+1
| | | | | | | | | | | | 2000-07-25 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): Optimized to try and get the new message headers without reloading the entire summary from scratch. (imap_get_summary_internal): Will now sync() before attempting to reload the summary so that flags are set in the reloaded summary as well. svn path=/trunk/; revision=4309
* Updated to give special attention to the root folder.Jeffrey Stedfast2000-07-251-21/+28
| | | | | | | | | | | | | | | 2000-07-24 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (get_folder): Updated to give special attention to the root folder. * providers/imap/camel-imap-folder.c (imap_get_subfolder_names_internal): Updated to handle the root folder (imap_get_message_count_internal): return 0 if folder can't hold messages (camel_imap_folder_new): Change so that root folder gets special attention and always gets can_hold_messages set to FALSE svn path=/trunk/; revision=4308
* Initialize the summary and subfolder listing. (imap_summary_free): NowJeffrey Stedfast2000-07-251-3/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-24 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Initialize the summary and subfolder listing. (imap_summary_free): Now takes a GPtrArray arg rather than a CamelImapFolder as it increases it's usefullness for free()'ing temporary summaries. (imap_get_message_count_internal): A new convenience function for getting the actual message count on a server to be used by imap_get_summary_internal) (imap_get_message_count): Since the Camel API is on the move again, the future version of this function will not be able to make a call to the store, it must only access previously fetched data (thus the creation of the _internal function) (imap_get_subfolder_names_internal): Again, because the future version of imap_get_subfolder_names will not take an exception, we must rename this function which will be called by camel_imap_folder_new() (imap_get_subfolder_names): We now return the previously collected subfolder listing that the _internal function fetched previously (imap_get_summary_internal): Again, same idea as the previous _internal functions... (imap_get_summary): Again... now returns a previously aquired summary * providers/imap/camel-imap-store.c (imap_noop): This will hopefully prevent the imap store from disconnecting. (imap_connect): Modified to add a gtk timeout event that will call imap_noop() every 10 minutes (we may want to change this time value) (imap_disconnect): Modified to remove the NOOP timeout event from the store. (camel_imap_command_extended): Commented out the code that would try and detect if the store was disconnected and then reconnect if it was needed. svn path=/trunk/; revision=4298
* Made it a little more forgiving. Also set current_folder to NULL as thereJeffrey Stedfast2000-07-241-31/+67
| | | | | | | | | | | | | 2000-07-23 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_disconnect): Made it a little more forgiving. Also set current_folder to NULL as there is no selected folder after a disconnect. (stream_is_alive): Detects whether or not a socket is "alive" (camel_imap_command_extended): Use stream_is_alive() to aid in the detection of a disconnected state. svn path=/trunk/; revision=4288
* Clear CamelExceptions when appropriate (eg when folder is marked asJeffrey Stedfast2000-07-231-39/+47
| | | | | | | | | | | | | | 2000-07-22 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (get_folder): Clear CamelExceptions when appropriate (eg when folder is marked as \NoSelect). Still needs some cleanup and perhaps Dan will have a better way of doing this as this seems like a messy way of handling this. * providers/imap/camel-imap-folder.c (imap_get_uids): Took out some debug statements as they are no longer needed. svn path=/trunk/; revision=4275
* Updated to not strip out subfolders that are marked as \NoSelect becauseJeffrey Stedfast2000-07-221-6/+48
| | | | | | | | | | | | | | | | 2000-07-21 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_subfolder_names): Updated to not strip out subfolders that are marked as \NoSelect because this will be correctly handled in store->get_folder from now on. * providers/imap/camel-imap-store.c (folder_is_selectable): New convenience function for use in get_folder(). (parse_list_response): Now takes a char **flags argument which is needed by folder_is_selectable(). (imap_connect): Updated to reflect changes to parse_list_response(). svn path=/trunk/; revision=4274
* Rewrote the code to check for "* %d RECENT". Still needs to be modified,Jeffrey Stedfast2000-07-221-7/+11
| | | | | | | | | | 2000-07-21 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_extended): Rewrote the code to check for "* %d RECENT". Still needs to be modified, but should no longer cause an infinite loop by detecting mis-detecting RECENT messages. svn path=/trunk/; revision=4265
* General cleanup working towards getting Actions->Expunge workingJeffrey Stedfast2000-07-201-2/+16
| | | | | | | | | | | | | | 2000-07-19 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: General cleanup working towards getting Actions->Expunge working correctly. * providers/imap/camel-imap-store.c (cammel_imap_command_extended): Added code to look for "* %d RECENT" and to emit the folder_changed signal if there are any recent messages. Note: this is a hack and needs to be rewritten badly. svn path=/trunk/; revision=4226
* Added in imap_[g,s]et_message_user_flag() methodsJeffrey Stedfast2000-07-191-3/+5
| | | | | | | | | | | | | | | | | 2000-07-18 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_class_init): Added in imap_[g,s]et_message_user_flag() methods * providers/imap/camel-imap-store.c (get_folder): Oops, this should not be checking against "/", it should be checking against dir_sep. * providers/imap/camel-imap-folder.c (imap_parse_subfolder_line): Updated to trim out the leading namespace. (imap_get_subfolder_names): Let the subfolder parser trim the namespace off the folder name. svn path=/trunk/; revision=4214
* Send a "LOGOUT" command.Jeffrey Stedfast2000-07-181-0/+9
| | | | | | | | | | | | | | | | | | 2000-07-17 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_disconnect): Send a "LOGOUT" command. * providers/imap/camel-imap-folder.c (imap_get_message): Hacks to get IMAP code to work with CommunigatePro and MS Exchange (and any other servers that send back a UID at the end of each FETCH inside of the main body of the message part). (imap_sync): Un-#if 0 the code that sets the flags on the IMAP server for messages that have changed. Oops, don't mask with DELETED to find out if the message has been answered ;-) (imap_expunge): sync before expunging. svn path=/trunk/; revision=4207
* All SELECT calls now pass a NULL folder argument toJeffrey Stedfast2000-07-171-23/+42
| | | | | | | | | | | | | | | | | | | | | 2000-07-16 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c: All SELECT calls now pass a NULL folder argument to camel_imap_command_extended() since it's not needed. (imap_connect): Moved service_class->connect() to the point right after a connection is established with the server rather than waiting until the end of the function. (camel_imap_command): Updated the documentation comment (camel_imap_command_extended): Before sending a command, first check to make sure we are connected; if we aren't, then reconnect. Don't strncmp() command with "SELECT" as it's redundant. * providers/imap/camel-imap-folder.c: All SELECT calls now pass a NULL folder argument to camel_imap_command_extended() since it's not needed. svn path=/trunk/; revision=4182
* New convenience function to unquote a string if it's encapsulated by "'sJeffrey Stedfast2000-07-151-10/+83
| | | | | | | | | | | | | 2000-07-14 Jeffrey Stedfast <fejj@helixcode.com> * string-utils.c (string_unquote): New convenience function to unquote a string if it's encapsulated by "'s * providers/imap/camel-imap-folder.c: * providers/imap/camel-imap-store.c: Made the necessary changes to stop using hard coded directory separators. svn path=/trunk/; revision=4170
* If a SELECT fails, set imap_store->current_folder to NULL so a SELECT isJeffrey Stedfast2000-07-141-48/+12
| | | | | | | | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: * providers/imap/camel-imap-store.c: If a SELECT fails, set imap_store->current_folder to NULL so a SELECT is forced before any message/folder operations are requested. Also, because some users don't use a namespace, make sure that if the url->path is "/" we don't use it when creating the folder_path. (camel_imap_command[_extended]): Since we allow the passing of a NULL folder which we can use to bypass a forced SELECT, no need to check for the individual commands that don't require a folder to be selected. svn path=/trunk/; revision=4161
* Updated to use CAMEL_IMAP_OK, CAMEL_IMAP_NO, CAMEL_IMAP_BAD, andJeffrey Stedfast2000-07-141-8/+7
| | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: * providers/imap/camel-imap-store.c: Updated to use CAMEL_IMAP_OK, CAMEL_IMAP_NO, CAMEL_IMAP_BAD, and CAMEL_IMAP_FAIL rather than the ones copied from the POP3 provider. svn path=/trunk/; revision=4155
* Oops. If the number of messages in the folder is 0, don't fetch summariesJeffrey Stedfast2000-07-141-0/+3
| | | | | | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): Oops. If the number of messages in the folder is 0, don't fetch summaries 1 thru 0, just return an empty summary. (imap_copy_message_to): Fixed to use message UID and also send the source folder as an arg to camel_imap_command rather than NULL. (imap_move_message_to): Same. (imap_init): If SELECT is successful, we need to set the current folder to the one selected, this was causing problems with move/copy svn path=/trunk/; revision=4154
* define a set of CAMEL_SERVICE_URL_ALLOW_* flags parallel to the _NEED_*Dan Winship2000-07-141-1/+3
| | | | | | | | | | | * camel-service.h: define a set of CAMEL_SERVICE_URL_ALLOW_* flags parallel to the _NEED_* flags, and make the _NEED_* flags imply the _ALLOW_* ones. * providers/imap/camel-imap-store.c (camel_imap_store_init): imap urls ALLOW_PATH svn path=/trunk/; revision=4147
* Chris forgot to add #include <e-util/e-util.h> to the source filesJeffrey Stedfast2000-07-131-4/+5
| | | | | | | | | | | 2000-07-12 Jeffrey Stedfast <fejj@helixcode.com> Chris forgot to add #include <e-util/e-util.h> to the source files * providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's fix, we don't want to send a string to a %d. svn path=/trunk/; revision=4133
* Undid clahey's e_strstrcase because e_strstrcase DOES NOT EXIST inJeffrey Stedfast2000-07-131-6/+6
| | | | | | | | | | | | | 2000-07-12 Jeffrey Stedfast <fejj@helixcode.com> Undid clahey's e_strstrcase because e_strstrcase DOES NOT EXIST in e-utils/e-utils.c nor anywhere else in Evolution - besides, Camel should remain independant of Evolution. * providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's fix, we don't want to send a string to a %d. svn path=/trunk/; revision=4132
* From addressbook/ChangeLog:Christopher James Lahey2000-07-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * backend/pas/pas-backend-file.c: Do case insensitive compares. * addressbook/gui/component/addressbook.c: Make quick search search both name and company name. From camel/ChangeLog: 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, providers/imap/camel-imap-store.c: Changed from strstrcase to e_strstrcase. * string-utils.c, string-utils.h: Removed strstrcase (in favor of e_strstrcase in e-util/e-util.c.) From e-util/ChangeLog: 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * e-util.c, e-util.h: Added e_strstrcase function. svn path=/trunk/; revision=4127
* Solaris fixes: make sure not to pass NULL to printf's %sMatthew Loper2000-07-131-2/+4
| | | | svn path=/trunk/; revision=4119
* Updated to emit the message_changed signal. (imap_delete_message): UpdatedJeffrey Stedfast2000-07-121-5/+29
| | | | | | | | | | | | | | | | 2000-07-12 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_set_message_flags): Updated to emit the message_changed signal. (imap_delete_message): Updated to use imap_set_message_flags (). (imap_move_message_to): Updated to use imap_set_message_flags () and to emit the folder_changed signal on the destination folder. (imap_copy_message_to): Updated to emit the folder_changed signal on the destination folder. (imap_append_message): Updated to emit the folder_changed signal on the destination folder. svn path=/trunk/; revision=4105
* Update to reflect past changes in the Camel API. Use gtk macro castsJeffrey Stedfast2000-07-091-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | 2000-07-08 Jeffrey Stedfast <fejj@helixcode.com> * providers/nntp/camel-nntp-folder.c: * providers/nntp/camel-nntp-utils.c: * providers/nntp/camel-nntp-store.c: Update to reflect past changes in the Camel API. Use gtk macro casts wherever possible and use glib's memory functions instead of standard c's (since they are not compatable) * providers/smtp/camel-smtp-transport.c: * providers/imap/camel-imap-store.c: Wrap debug print statements in a macro * providers/imap/camel-imap-stream.c (stream_read): Make sure that we get up to and including the last \n of the mime part. * providers/imap/camel-imap-folder.c (imap_get_message): Make sure that we get up to and including the last \n of the mime part. Wrap debug print statements in a macro. svn path=/trunk/; revision=3984
* New method, to return an end-user-friendly name corresponding to aDan Winship2000-07-021-0/+14
| | | | | | | | | | | | | | | * camel-service.c (camel_service_get_name): New method, to return an end-user-friendly name corresponding to a service. (eg, "POP service for danw on trna.helixcode.com"). * providers/imap/camel-imap-store.c, providers/mbox/camel-mbox-store.c, providers/nntp/camel-nntp-store.c, providers/pop3/camel-pop3-store.c, providers/sendmail/camel-sendmail-transport.c, providers/smtp/camel-smtp-transport.c: Implement. svn path=/trunk/; revision=3851
* Changed to keep prompting user for a valid password until it eitherJeffrey Stedfast2000-06-291-47/+76
| | | | | | | | | | | | | | | | | 2000-06-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_connect): Changed to keep prompting user for a valid password until it either authenticates or until Canceled by the user. (camel_imap_command_extended): Improved speed (replaced the g_strjoinv call with a faster implementation) * providers/pop3/camel-pop3-store.c (camel_pop3_command_get_additional_data): Fixed. (pop3_connect): Changed to keep prompting the user for a password until it either works or until Canceled by the user. svn path=/trunk/; revision=3783
* Move the CAPABILITY command here so we don't have to keep checking eachJeffrey Stedfast2000-06-281-5/+30
| | | | | | | | | | | | | | | | | 2000-06-27 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_connect): Move the CAPABILITY command here so we don't have to keep checking each time we open a folder. (camel_imap_command_extended): If we are doing an EXAMINE, don't bother doing a SELECT first. * providers/imap/camel-imap-folder.c (imap_init): Update so folder->has_search_capability depends on the parent IMAP store (since this is really dependant on the IMAP implementation and not the folder) svn path=/trunk/; revision=3767
* providers/imap/camel-imap-[store,folder].c: Improved folder parsingJeffrey Stedfast2000-06-241-2/+2
| | | | svn path=/trunk/; revision=3712
* Oops. Now appends the namespace to the folder before querying for theJeffrey Stedfast2000-06-231-5/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-22 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_count): Oops. Now appends the namespace to the folder before querying for the number of messages. * providers/imap/camel-imap-store.c (imap_folder_exists): New convenience function for use by imap_create(). (get_folder): If folder is specified as "/", we really want "INBOX". * providers/sendmail/camel-sendmail-provider.c: * providers/vee/camel-vee-provider.c: * providers/smtp/camel-smtp-provider.c: * providers/mbox/camel-mbox-provider.c: * providers/pop3/camel-pop3-provider.c: * providers/imap/camel-imap-provider.c: Updated * camel-session.c: Moved service_cache hash table into the providers. (service_cache_remove): Updated. (camel_session_get_service): Updated. * camel-url.c (camel_url_hash): Took out the hashing of url->passwd. We don't want this anymore. * providers/imap/camel-imap-folder.c (imap_init): Took out references to 'namespace' (camel_imap_folder_init): Same * providers/imap/camel-imap-folder.h: No more namespace. We are instead going to use url->path as the namespace. svn path=/trunk/; revision=3705
* UpdatedJeffrey Stedfast2000-06-231-13/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-22 Jeffrey Stedfast <fejj@helixcode.com> * providers/sendmail/camel-sendmail-provider.c: * providers/vee/camel-vee-provider.c: * providers/smtp/camel-smtp-provider.c: * providers/mbox/camel-mbox-provider.c: * providers/pop3/camel-pop3-provider.c: * providers/imap/camel-imap-provider.c: Updated * camel-session.c: Moved service_cache hash table into the providers. (service_cache_remove): Updated. (camel_session_get_service): Updated. * camel-url.c (camel_url_hash): Took out the hashing of url->passwd. We don't want this anymore. * providers/imap/camel-imap-folder.c (imap_init): Took out references to 'namespace' (camel_imap_folder_init): Same * providers/imap/camel-imap-folder.h: No more namespace. We are instead going to use url->path as the namespace. svn path=/trunk/; revision=3700
* Modified to use the "namespace" (url->path) if it exists.Jeffrey Stedfast2000-06-221-9/+22
| | | | | | | | | | | | | 2000-06-21 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_create): Modified to use the "namespace" (url->path) if it exists. * providers/imap/camel-imap-folder.c (imap_delete_message_by_uid): Now just sets the deleted flag on the summary rather than speaking directly to the IMAP server. This is both faster and cleaner. svn path=/trunk/; revision=3688
* Now returns the last line of data that the server sends back as well. ThisJeffrey Stedfast2000-06-211-6/+29
| | | | | | | | | | | | | | | | | | | 2000-06-20 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_extended): Now returns the last line of data that the server sends back as well. This is needed for commands like SELECT (like Peter pointed out). (camel_imap_command): No longer checks for SELECT (no need) * providers/imap/camel-imap-folder.c: Added namespace stuff which we will need later on... (imap_parse_subfolder_line): Convenience function for use in get_subfolder_names() (imap_get_subfolder_names): Updated. Also changed it to use LIST instead of LSUB (temporary change). svn path=/trunk/; revision=3646
* basically got IMAP into the tree viewJeffrey Stedfast2000-06-201-0/+1
| | | | svn path=/trunk/; revision=3643
* Read the full server reply when we SELECT mailboxes.Peter Williams2000-06-201-3/+5
| | | | svn path=/trunk/; revision=3635
* camel/providers/imap/camel-imap-folder.c: CAPABILITY now works like it shouldJeffrey Stedfast2000-06-181-19/+19
| | | | | | | po/POTFILES.in: removed reference to camel/providers/imap/imap.c - this was just a temporary file to use as a reference for IMAP code svn path=/trunk/; revision=3623
* Kill. Folders are now always open, and handle "closing" sorts ofDan Winship2000-06-161-22/+0
| | | | | | | | | | | | | | | | | | * camel-folder.c: (camel_folder_open, camel_folder_is_open, camel_folder_get_mode): Kill. Folders are now always open, and handle "closing" sorts of operations at sync or finalize time. (camel_folder_sync): renamed from camel_folder_close. Syncs state to the store but doesn't necessarily close/disconnect. * providers/*/camel-*-folder.c: Merge "open" methods into "init" methods. Rename close to sync and update appropriately. * providers/imap/camel-imap-store.c: Remove camel_imap_store_open and camel_imap_store_close, which should not have been copied from the POP provider (where the exist to work around limitations of the POP protocol). svn path=/trunk/; revision=3581
* Updated: a separator is now a char* rather than a single char because IMAPJeffrey Stedfast2000-06-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-14 Jeffrey Stedfast <fejj@helixcode.com> * camel-folder.c (init): Updated: a separator is now a char* rather than a single char because IMAP can have a string for a directory separator. Also, since IMAP does not begin with a directory separator, there is a new argument (path_begins_with_sep) which decides if a directory should begin with a directory separator. * providers/imap/camel-imap-store.c (imap_create): Since, on connect, Camel tries to create INBOX (which already exists on every IMAP provider) we can return TRUE when the folder name is "INBOX". * providers/vee/camel-vee-folder.c (vee_init): Updated. * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Updated. * providers/mbox/camel-mbox-store.c (get_folder): Updated. * providers/mbox/camel-mbox-folder.c (mbox_init): Updated. * providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Updated. svn path=/trunk/; revision=3559
* IMAP will now allow you to login, and on some IMAP providers it will ↵Jeffrey Stedfast2000-06-141-84/+76
| | | | | | | | | | actually allow you to get mail - however there are some things that might need to be rewritten in Camel to allow all IMAP providers to work right now, it wants to open /INBOX which isn't always the same as INBOX Camel won't seem to allow me to just have it open "INBOX" if I specify '/' as the separator *sigh* svn path=/trunk/; revision=3557
* Updated to reflect changes made in camel-imap-store.cJeffrey Stedfast2000-06-101-24/+42
| | | | | | | | | | | | | | | 2000-06-09 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-stream.c (stream_read): Updated to reflect changes made in camel-imap-store.c * providers/imap/camel-imap-store.c (imap_create): No longer checks to make sure a folder doesn't already exists (as this is no longer needed) (camel_imap_command): Now takes a CamelFolder argument so it can detect whether or not it needs to SELECT a folder or not (camel_imap_command_extended): Same. svn path=/trunk/; revision=3494
* Added rules to build camel-imap-streamJeffrey Stedfast2000-06-081-16/+62
| | | | | | | | | | | | | | | | | | | | | 2000-06-07 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/Makefile.am: Added rules to build camel-imap-stream * providers/imap/camel-imap-store.c (get_folder): Update. Moved imap_create here. * providers/imap/camel-imap-folder.c (delete_messages): Remove. (imap_create): Removed. (imap_delete): Removed. (imap_exists): Removed. * providers/imap/camel-imap-stream.h: Added typedef's for the stream * providers/imap/camel-imap-stream.c: Modified to build cleanly svn path=/trunk/; revision=3468
* worked on getting providers/imap/* to build cleanly, fixed a number of ↵Jeffrey Stedfast2000-06-071-5/+5
| | | | | | | | stupid errors and things like that am commit'ing code since there are some volunteers that would like to work on imap svn path=/trunk/; revision=3440
* Implemented a few more imap functions in providers/imap/camel-imap-folder.cJeffrey Stedfast2000-05-311-9/+27
| | | | svn path=/trunk/; revision=3286
* Ripped out camel_imap_command_get_additional_data() from camel-imap-store ↵Jeffrey Stedfast2000-05-281-25/+75
| | | | | | and implemented a number of methods in camel-imap-folder svn path=/trunk/; revision=3233
* Updated several imap source filesJeffrey Stedfast2000-05-261-4/+3
| | | | svn path=/trunk/; revision=3210
* Took out code that had been there to reconnect to the server if it was notJeffrey Stedfast2000-05-261-0/+482
2000-05-25 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (_send_to): Took out code that had been there to reconnect to the server if it was not already connected - Mailer code was fixed so that this should not be needed. * providers/imap/camel-imap-store.[c,h]: Initial code. svn path=/trunk/; revision=3202