aboutsummaryrefslogtreecommitdiffstats
path: root/camel
Commit message (Collapse)AuthorAgeFilesLines
* o Added smtp/ to providers tree under camel o Added makefiles and sourceEDT 2000 Jeffrey Stedfast2000-04-076-2/+1370
| | | | | | | | Thu Apr 6 22:56:44 EDT 2000 Jeffrey Stedfast <fejj@stampede.org> o Added smtp/ to providers tree under camel o Added makefiles and source for an smtp module (untested as of yet) svn path=/trunk/; revision=2317
* + * camel-folder-pt-proxy.c (_get_full_name): Remove exception paramMatthew Loper2000-04-072-2/+9
| | | | | | | | + from get_full_name() called, since get_full_name() was changed to + not have an exception in the last param (see dan's notes below). + (_get_name): same. svn path=/trunk/; revision=2316
* Reorganize the folder-fetching methods and implement a folder cache soDan Winship2000-04-077-115/+287
| | | | | | | | | | | | | | | | | | | | | | | 2000-04-06 Dan Winship <danw@helixcode.com> * camel-store.[ch]: Reorganize the folder-fetching methods and implement a folder cache so that multiple requests for the same folder will yield the same CamelFolder object (as long as it remains active). Includes some code to remove no-longer-active folders from the cache, but it doesn't get used since nothing is ever unref'ed in Camel right now... * providers/mbox/camel-mbox-store.c: * providers/pop3/camel-pop3-store.c: update for CamelStore changes. * camel-folder.[ch]: Remove the (unused) CamelException argument from camel_folder_get_name and camel_folder_get_full_name. (camel_folder_set_name): make this go away since changing a folder's name after it has been created could result in it conflicting with a separately-issued folder. svn path=/trunk/; revision=2314
* the URL RFC says the port must be numeric, so we don't want to doDan Winship2000-04-0611-284/+255
| | | | | | | | | | | * g_url_new really wanted to take a CamelException. So, rename Gurl to CamelURL, g_url_* to camel_url_* (with camel_url_new taking an exception), and url-util.[ch] to camel-url.[ch]. Also force url->port to be numeric and remove camel_service_getport. (I was confused before: the URL RFC says the port must be numeric, so we don't want to do getportbyname.) svn path=/trunk/; revision=2300
* fix a warningDan Winship2000-04-061-1/+0
| | | | svn path=/trunk/; revision=2293
* Compare mbox_file_size and mbox_modtime to the results of stat()ing theDan Winship2000-04-024-50/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | * providers/mbox/camel-mbox-folder.c (_check_get_or_maybe_generate_summary_file): Compare mbox_file_size and mbox_modtime to the results of stat()ing the mbox file, not the summary file. Duh. (_close): Update the summary's mbox_file_size and mbox_modtime before writing it to disk. * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_save, camel_mbox_summary_load): Wow. I must have been tired when I wrote this code. First, the comparison bug above. Second, it was using ntohs and htons instead of ntohl and htonl. Third, I was reading the status flag byte in two different places and thus getting out of sync. Fourth, it was writing out field_length bytes of each header field after having converted field_length to network byte order, resulting in lots of random crap being appended, and the summary files being huge. (Fortunately, since the size/modtime comparison was biffed, the garbage summary read from disk was always immediately discarded.) * providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): fix an off-by-one error that caused the last-used UID to be reused if the summary file was regenerated. (That one wasn't my fault. :-) svn path=/trunk/; revision=2279
* implement unimplemented methodsDan Winship2000-04-012-12/+15
| | | | | | * camel-stream-mem.c: implement unimplemented methods svn path=/trunk/; revision=2275
* remove debugging printf()s that no longer seem usefulDan Winship2000-04-015-11/+14
| | | | svn path=/trunk/; revision=2274
* Added "convert_newlines_to_br" boolean param, to give the option of notMatthew Loper2000-04-012-6/+16
| | | | | | | | | * camel-formatter.c (text_to_html): Added "convert_newlines_to_br" boolean param, to give the option of not converting '\n's to <br> tags. This way, when we stick stuff in a <pre> tag, newlines stay newlines. svn path=/trunk/; revision=2270
* Use <pre> tag to force the use of monospaced fonts.Matthew Loper2000-03-312-0/+9
| | | | | | | * camel-formatter.c (handle_text_plain): Use <pre> tag to force the use of monospaced fonts. svn path=/trunk/; revision=2260
* Add a htons in the default_number case, and document the fact that theDan Winship2000-03-313-10/+15
| | | | | | | | | | | | * camel-service.c (camel_service_getport): Add a htons in the default_number case, and document the fact that the function returns the port in network byte order. * providers/pop3/camel-pop3-store.c (pop3_connect): Revert Miguel's change. The port number bug was actually somewhere else, and the IP address copying code was fine already. svn path=/trunk/; revision=2256
* Add htons (port), and only copy 4 bytes for the IP address to prevent aMiguel de Icaza2000-03-302-2/+13
| | | | | | | | | | 2000-03-29 Miguel de Icaza <miguel@gnu.org> * providers/pop3/camel-pop3-store.c (pop3_connect): Add htons (port), and only copy 4 bytes for the IP address to prevent a DNS attack. svn path=/trunk/; revision=2251
* make this return a CamelStream rather than a CamelSeekableSubstream,Dan Winship2000-03-294-5/+11
| | | | | | | | | | * camel-seekable-substream.c (camel_seekable_substream_new_with_seekable_stream_and_bounds): make this return a CamelStream rather than a CamelSeekableSubstream, because that's the way Gtk objects tend to work. svn path=/trunk/; revision=2218
* fix warningsDan Winship2000-03-2913-27/+15
| | | | svn path=/trunk/; revision=2217
* convenience functions to canonicalize the host and port values of aDan Winship2000-03-294-21/+113
| | | | | | | | | * camel-service.c (camel_service_gethost, camel_service_getport): convenience functions to canonicalize the host and port values of a service's URL. * providers/pop3/camel-pop3-store.c: use them svn path=/trunk/; revision=2216
* Make this work when the inbox file doesn't yet exist.Dan Winship2000-03-292-24/+40
| | | | | | | | * providers/mbox/camel-mbox-folder.c (_check_get_or_maybe_generate_summary_file): Make this work when the inbox file doesn't yet exist. svn path=/trunk/; revision=2215
* uncomment the call to unlink the temp file: there's no way to tellDan Winship2000-03-282-1/+6
| | | | | | | | | * providers/mbox/camel-mbox-folder.c (_append_message): uncomment the call to unlink the temp file: there's no way to tell camel_stream_fs to truncate a file, so reusing the same file was resulting in junk at the ends of messages. svn path=/trunk/; revision=2206
* add delete_message_by_{number,uid}.Dan Winship2000-03-286-7/+297
| | | | | | | | | | | | | | | | * camel-folder.[ch]: add delete_message_by_{number,uid}. * providers/pop3/camel-pop3-folder.[ch]: implement delete_message_by_uid. Add a close method to do expunging of deleted messages if requested. * providers/pop3/camel-pop3-store.[ch]: support for CamelPop3Folder::close. (You have to close the connection in order to expunge the folder, thus the store may be connected in the CamelService::is_connected sense when it is not actually connected to the server.) Also some bugfixes. svn path=/trunk/; revision=2203
* Unref the output_stream when done, close doesn't do it. (_append_message):NotZed2000-03-2813-48/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-03-27 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-folder.c (_append_message): Unref the output_stream when done, close doesn't do it. (_append_message): Clear all uid's from the appending messages, so they are reassigned proper unique id's. * gmime-utils.c (get_header_array_from_stream): Actually free the header, it is copied elsewhere. 2000-03-26 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Added folder parameter to function. Fixed callers. (index_message): Index a message as it is assigned a unique id. * camel-mime-part.c (my_set_content_id): Make sure we malloc and copy the content_id, otherwise *poof* 2000-03-25 NotZed <NotZed@HelixCode.com> * camel-medium.c (_finalize): Another leak, unref the content if finished with it. * camel-recipient.c (camel_recipient_table_free): Plug another memory leak - actually free the recipient table. * camel-mime-message.c (_finalize): Plugged a memory leak with the flags table. * gmime-utils.c (_store_header_pair_from_string): A simpler, more debuggable and functionally identical header extraction function. 2000-03-24 NotZed <NotZed@HelixCode.com> * gmime-content-field.c (gmime_content_field_set_parameter): Remove the hash table entry before freeing its key and data. svn path=/trunk/; revision=2199
* keep separate input and output streams so the output doesn't end up beingDan Winship2000-03-286-20/+79
| | | | | | | | | | | | * providers/pop3/camel-pop3-store.c: keep separate input and output streams so the output doesn't end up being buffered. * providers/pop3/camel-pop3-folder.c (get_message_by_number): finish implementing this. * providers/Makefile.am (SUBDIRS): Add pop3. svn path=/trunk/; revision=2196
* fix nastiness with mime dispositions ( at least for now )Michael Meeks2000-03-284-7/+17
| | | | svn path=/trunk/; revision=2195
* remove camel-stream-buffered-fs here tooDan Winship2000-03-281-2/+0
| | | | svn path=/trunk/; revision=2192
* fix previous commit: this file wasn't usingDan Winship2000-03-281-0/+1
| | | | | | | camel-stream-buffered-fs.h, but it did need camel-stream-fs.h, which it wasn't including. svn path=/trunk/; revision=2191
* new routine to free the data allocated by camel_service_query_auth_types.Dan Winship2000-03-284-3/+42
| | | | | | | | | * camel-service.c (camel_service_free_auth_types): new routine to free the data allocated by camel_service_query_auth_types. * providers/pop3/camel-pop3-store.c (free_auth_types): implement svn path=/trunk/; revision=2190
* rename camel_stream_mem_new_with_buffer to ..._with_byte_array and add aDan Winship2000-03-283-11/+24
| | | | | | | | * camel-stream-mem.c (camel_stream_mem_new_with_buffer): rename camel_stream_mem_new_with_buffer to ..._with_byte_array and add a new ..._with_buffer that takes a char * rather than a GByteArray. svn path=/trunk/; revision=2189
* Remove CamelStreamBufferedFs, since CamelStreamBuffer makes it redundant.Dan Winship2000-03-285-358/+5
| | | | | | | * Remove CamelStreamBufferedFs, since CamelStreamBuffer makes it redundant. svn path=/trunk/; revision=2188
* include in.h to quiet compilerSeth Alves2000-03-271-0/+1
| | | | svn path=/trunk/; revision=2187
* change the CamelFolderSummary interfaces to allow partial summary queriesDan Winship2000-03-2510-543/+589
| | | | | | | | | | | | | | | | | | | | | | | | * camel-folder-summary.[ch]: change the CamelFolderSummary interfaces to allow partial summary queries (for dealing with very large folders). Remove the "extended_fields" from CamelFolderInfo and CamelMessageInfo: this is better dealt with by subtyping. * providers/mbox/camel-mbox-summary.[ch]: Make CamelMboxSummary a subclass of CamelFolderSummary. Update interfaces for that. Remove the internal/external summary distinction. Remove the (unused) md5 checksum in the folder summary. Change the summary file format (primarily to make it no longer byte-order dependent) and add a version number to it so it will be easier to change in the future. * providers/mbox/camel-mbox-folder.[ch] * providers/mbox/camel-mbox-search.c * providers/mbox/camel-mbox-utils.c: update for summary changes * camel-exception-list.def: add CAMEL_EXCEPTION_FOLDER_SUMMARY_INVALID svn path=/trunk/; revision=2159
* Added flag to provider initialisation, to match changed structure.NotZed2000-03-243-1/+7
| | | | | | | | | 2000-03-23 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-provider.c: Added flag to provider initialisation, to match changed structure. svn path=/trunk/; revision=2158
* fix the CamelProvider entry (new flags field was missing)Dan Winship2000-03-241-0/+1
| | | | svn path=/trunk/; revision=2156
* Added async search api.NotZed2000-03-247-44/+148
| | | | | | | | | | | | | | 2000-03-22 NotZed <NotZed@HelixCode.com> * camel-folder.[ch]: Added async search api. * providers/mbox/camel-mbox-search.c (camel_mbox_folder_search_by_expression): Changed to use an asynchronous interface. (camel_mbox_folder_search_cancel): Cancel function for async interface. svn path=/trunk/; revision=2155
* Function to read one line of any size from a stream and return it inDan Winship2000-03-245-2/+55
| | | | | | | | | | | * camel-stream-buffer.c (camel_stream_buffer_read_line): Function to read one line of any size from a stream and return it in allocated memory. Also add camel-stream-buffer.h to camel.h and CamelStreamBuffer to camel-types.h. svn path=/trunk/; revision=2152
* New function to query a service for the authentication protocols itDan Winship2000-03-234-0/+70
| | | | | | | | * camel-service.c (camel_service_query_auth_types): New function to query a service for the authentication protocols it supports. * providers/pop3/camel-pop3-store.c (query_auth_types): implement svn path=/trunk/; revision=2147
* New function to scan the provider dir and return a list of all providers.Dan Winship2000-03-233-18/+41
| | | | | | | * camel-provider.c (camel_provider_scan): New function to scan the provider dir and return a list of all providers. svn path=/trunk/; revision=2145
* fix compile errors. duh.Dan Winship2000-03-233-14/+18
| | | | svn path=/trunk/; revision=2144
* fill this in partially make camel_pop3_command return the text afterDan Winship2000-03-237-25/+258
| | | | | | | | | | | * providers/pop3/camel-pop3-folder.c: fill this in partially * providers/pop3/camel-pop3-store.c: make camel_pop3_command return the text after "+OK"/"-ERR" and add a separate camel_pop3_get_additional_data to get the message body or whatever. Also make them take a CamelPop3Store rather than a CamelStreamBuffer. svn path=/trunk/; revision=2143
* + * shell/main.c (evolution_boot): gtk_signal_connect'ed "destroy"Matthew Loper2000-03-232-2/+9
| | | | | | | | | | | | | + to gtk_main_quit, so that the shell dies when you want it to. + + * shell/e-shell-view.c (get_view): Reorganized, and added + assertions. + (e_shell_view_set_view): Added assertions. + + * camel/camel-formatter.c (debug): Disabled some useless debug + messaging. svn path=/trunk/; revision=2141
* some initial bits of the POP3 provider, to make Matt happy. Incomplete,Dan Winship2000-03-225-0/+465
| | | | | | | * providers/pop3: some initial bits of the POP3 provider, to make Matt happy. Incomplete, untested, etc. svn path=/trunk/; revision=2137
* display message sizebertrand2000-03-215-4/+18
| | | | | | | | | | | | | | | | | | | | | 2000-03-21 bertrand <bertrand@helixcode.com> * message-list.c (ml_value_at): display message size 2000-03-21 bertrand <bertrand@helixcode.com> * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_append_internal_to_external): copy the size field * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): initialize message_info to NULL * camel-folder-summary.h: added the size field. * providers/mbox/camel-mbox-summary.h: added the received_date field. svn path=/trunk/; revision=2133
* documented all functions.bertrand2000-03-212-1/+76
| | | | | | | | | 2000-03-21 bertrand <bertrand@helixcode.com> * providers/mbox/camel-mbox-summary.c: documented all functions. svn path=/trunk/; revision=2132
* name change and new fields.bertrand2000-03-213-4/+12
| | | | | | | | | | | | 2000-03-21 bertrand <bertrand@helixcode.com> * camel-folder-summary.h: name change and new fields. * providers/mbox/camel-mbox-search.c: update to conform to name change in the summary fields. svn path=/trunk/; revision=2131
* add a field refering to a service associated to the efolder. In the casebertrand2000-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | 2000-03-12 bertrand <bertrand@helixcode.com> * shell/e-folder.h: add a field refering to a service associated to the efolder. In the case of distant folders, it is generally a server. * shell/e-service.c: New class. Models a service. A service is an object with an URI and a root folder. It genreally reporesents a distant folder. A service is generally a ressource shared amongst several folders. * shell/e-service.h: 2000-03-10 bertrand <bertrand@helixcode.com> * camel-service.h: cosmetic changes. svn path=/trunk/; revision=2100
* cosmetic changes.bertrand2000-03-112-15/+28
| | | | | | | | 2000-03-10 bertrand <bertrand@helixcode.com> * camel-service.h: cosmetic changes. svn path=/trunk/; revision=2098
* fix the name of "Helix Code, Inc." in all the copyrightsDan Winship2000-03-1080-79/+83
| | | | svn path=/trunk/; revision=2091
* plug mem leaks due to bad documentation ofbertrand2000-03-095-18/+50
| | | | | | | | | | | | | | | | | | | | | | | 2000-03-07 bertrand <bertrand@helixcode.com> * camel-formatter.c (handle_mime_part): plug mem leaks due to bad documentation of camel_content_field_get_mime_type (print_camel_body_part): idem (handle_multipart_alternative): idem * gmime-content-field.c (gmime_content_field_get_mime_type): documentation fix. * camel-mime-part.c (my_finalize): unref the content_input_stream if any. * shell/e-shell-shortcut.c (shortcut_bar_item_selected): removed a test that prevented the standard menu to be shown. svn path=/trunk/; revision=2089
* More changes than a man can remember.Bertrand Guiheneuf2000-03-068-64/+106
| | | | | | The UI works now. svn path=/trunk/; revision=2074
* Tons of fixes to fix thingsBertrand Guiheneuf2000-03-058-32/+79
| | | | svn path=/trunk/; revision=2057
* Ref the summary after we have got it.NotZed2000-03-052-0/+16
| | | | | | | | | | 2000-03-04 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-search.c (camel_mbox_folder_search_by_expression): Ref the summary after we have got it. svn path=/trunk/; revision=2053
* stream the raw content instead of nothing if the encoding is notbertrand2000-03-055-9/+17
| | | | | | | | | | | | | 2000-03-04 bertrand <bertrand@helixcode.com> * camel-mime-part.c (my_write_content_to_stream): stream the raw content instead of nothing if the encoding is not supported. * camel-stream-fs.c (_seek): handle eos more properly. svn path=/trunk/; revision=2047
* bonobo-goad-id is the good key to look for. (get_bonobo_tag_for_object):bertrand2000-03-043-3/+15
| | | | | | | | | | | | | | 2000-03-04 bertrand <bertrand@helixcode.com> * camel-formatter.c (get_bonobo_tag_for_object): bonobo-goad-id is the good key to look for. (get_bonobo_tag_for_object): close the <object> tag. (get_bonobo_tag_for_object): the correct syntax for the to set a parameter inside an <object> tag is : <object classid="..."> <param name="uid" value="..."> <param ...> </object> svn path=/trunk/; revision=2036
* use set_input_stream instead of construct_from_stream to feed the messagebertrand2000-03-046-13/+58
| | | | | | | | | | | | | | | | | | | | | 2000-03-03 bertrand <bertrand@helixcode.com> * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): use set_input_stream instead of construct_from_stream to feed the message object. * camel-data-wrapper.c (my_write_to_stream): reset output stream. (my_set_input_stream): unref the previous input stream. use the set_output_stream for default behaviour. (my_set_output_stream): unref previous output stream. * camel-mime-part.c (my_write_content_to_stream): reset content object output stream. mbox provider now also constructs message bodies. I should have looked here first. damn. svn path=/trunk/; revision=2030
* Make sure we open with create with a creation mask.NotZed2000-03-043-4/+23
| | | | | | | | | | | | | | | 2000-03-03 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Make sure we open with create with a creation mask. 2000-03-01 NotZed <NotZed@HelixCode.com> * camel-mime-part-utils.c (camel_mime_part_construct_content_from_stream): DO NOT assert on content type, we have fallback code 4 lines below it ... *sigh* svn path=/trunk/; revision=2026
* in the case of images, put the content object output stream in the url.bertrand2000-03-043-7/+12
| | | | | | | | | | | 2000-03-03 bertrand <bertrand@helixcode.com> * camel-formatter.c (handle_image): in the case of images, put the content object output stream in the url. This allows the message browser to show inline images. svn path=/trunk/; revision=2021
* fixed state 0 keep value.bertrand2000-03-032-2/+7
| | | | | | | | | 2000-03-03 bertrand <bertrand@helixcode.com> * camel-stream-b64.c (my_read_encode): fixed state 0 keep value. svn path=/trunk/; revision=2019
* don't forget to set the state to 0 after 3. (my_read_encode): don't forgetbertrand2000-03-038-275/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-03-02 bertrand <bertrand@helixcode.com> * camel-stream-b64.c (my_read_encode): don't forget to set the state to 0 after 3. (my_read_encode): don't forget to encode, even in state 3. * camel-simple-data-wrapper.c: static functions are prefixed with my_ instead of _ * camel-multipart.c: static functions are prefixed with my_ instead of _ (my_write_to_stream): commented. (my_write_to_stream): warning in case the boudary is set but is a zero length string. * camel-mime-part.c (camel_mime_part_encoding_from_string): remove debug trace. * camel-mime-part.c: Replaced all static functions with name begining with _ by the same name begining with "my_" to prevent the possible conflicts with system symbols Dan warned us about. Mime mail generation works now, at least with b64 encoding. QP needs to be done now. svn path=/trunk/; revision=2016
* use CamelStreamB64 type for the input stream.bertrand2000-03-034-7/+22
| | | | | | | | | | | | | | 2000-03-02 bertrand <bertrand@helixcode.com> * camel-stream-b64.c (camel_stream_b64_write_to_stream): use CamelStreamB64 type for the input stream. * camel-mime-part.c (_get_content_object): remove debugging trace (_write_content_to_stream): implement the b64 encoding the new way (that is using camel_stream_b64) svn path=/trunk/; revision=2014
* fix implementation so that it writes properly to the output stream even.bertrand2000-03-023-6/+24
| | | | | | | | | | | | | 2000-03-02 bertrand <bertrand@helixcode.com> * camel-data-wrapper.c (my_write_to_stream): fix implementation so that it writes properly to the output stream even. * camel-stream-b64.c (camel_stream_b64_write_to_stream): fix implementation. svn path=/trunk/; revision=2013
* Various building fixes. At least, now it builds for me.Ettore Perazzoli2000-03-021-3/+7
| | | | svn path=/trunk/; revision=2007
* Added camel-stream-buffer to build.NotZed2000-03-013-0/+558
| | | | | | | | | | | | 2000-02-29 NotZed <NotZed@HelixCode.com> * Makefile.am (libcamelinclude_HEADERS): Added camel-stream-buffer to build. * camel-stream-buffer.[ch]: Generic buffer which can be applied to any stream. svn path=/trunk/; revision=1995
* new utility function.bertrand2000-02-295-47/+91
| | | | | | | | | | | | 2000-02-29 bertrand <bertrand@helixcode.com> * camel-stream-b64.c (camel_stream_b64_write_to_stream): new utility function. * camel-data-wrapper.c (_write_to_stream): default implementation. svn path=/trunk/; revision=1989
* revert strange changes.bertrand2000-02-294-4/+19
| | | | | | | | | | | | | 2000-02-29 bertrand <bertrand@helixcode.com> * gmime-utils.c (_store_header_pair_from_string): revert strange changes. * camel-stream-b64.c (my_read_decode): set eos to true when we have read the whole input stream. (my_reset): set eos to FALSE. svn path=/trunk/; revision=1988
* Fix a bunch of serious small bugs.NotZed2000-02-298-87/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-28 NotZed <NotZed@HelixCode.com> * camel-mime-part.c (_parse_header_pair): Dont free this either. * camel-medium.c (_remove_header): Ugh, dont free the header before we actually remove it. (_add_header): Ugh, dont free hashtable entries which may be duplicated (hash_insert _will_ reference that memory). * string-utils.c (string_trim): Trimming a 0-length string is not an error. * camel-mime-message.c (_parse_header_pair): Fixed very broken memory handling of header_name/value. * providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Initialise end_of_last_message always. (camel_mbox_copy_file_chunk): Stop trying to read if we run out of data, rather than looping forever. * providers/mbox/camel-mbox-folder.c (_init): Set search cap on. (_open): Call parent class to perform open. Remove folder-open check to parent instead. (_create): open takes a creation mask, dont use umask to try and set the open mode. (_delete): Dont bother checking folder==NULL, its already been checked on the external interface (changed to an assertion, this would have to be a camel bug). (_delete_messages): Likewise. (_create): Ditto. (_init): Dont go and clear all the paths and shit that the parent open just setup for us. (_delete_messages): Get rid of more umask stuff. (_append_message): Make sure we pass file mode to open with create. (_append_message): Cleaned up some indenting to make it readable. svn path=/trunk/; revision=1985
* No, its not a fatal error to search on a non-searchable folder, you justNotZed2000-02-293-10/+25
| | | | | | | | | | | | | | | | 2000-02-28 NotZed <NotZed@HelixCode.com> * camel-folder.c (camel_folder_search_by_expression): No, its not a fatal error to search on a non-searchable folder, you just dont get any matches. (_open): Dont open an opened folder (i dont see why this is really a bug, but what the hell ...) * providers/mbox/camel-mbox-folder.c (_init): Set search cap on. (_open): Call parent class to perform open. Remove folder-open check to parent instead. svn path=/trunk/; revision=1984
* Fixed a typo.NotZed2000-02-294-43/+50
| | | | | | | | | | | 2000-02-28 NotZed <NotZed@HelixCode.com> * camel-stream-b64.c (my_read_encode): Fixed a typo. * providers/mbox/camel-mbox-search.c: Changed to use e-sexp, rather than filter-sexp. svn path=/trunk/; revision=1979
* non blocking b64 encoding is a PITABertrand Guiheneuf2000-02-283-59/+308
| | | | svn path=/trunk/; revision=1974
* chuuuut.Mathieu Lacage2000-02-262-1/+8
| | | | svn path=/trunk/; revision=1937
* last set of changes for CamelFolder changes. Evolution builds again...Dan Winship2000-02-251-22/+23
| | | | svn path=/trunk/; revision=1928
* update for CamelFolder changesDan Winship2000-02-251-6/+11
| | | | svn path=/trunk/; revision=1927
* another typoDan Winship2000-02-251-1/+1
| | | | svn path=/trunk/; revision=1926
* remove some camel_store_get_separators that I missed beforeDan Winship2000-02-251-6/+5
| | | | svn path=/trunk/; revision=1925
* fix variable nameDan Winship2000-02-251-1/+1
| | | | svn path=/trunk/; revision=1924
* include camel-transportDan Winship2000-02-251-0/+2
| | | | svn path=/trunk/; revision=1923
* add camel_session_get_transport_for_protocolDan Winship2000-02-253-0/+48
| | | | svn path=/trunk/; revision=1922
* Add CamelTransport abstract class and CamelSendmailTransportDan Winship2000-02-259-1/+551
| | | | svn path=/trunk/; revision=1921
* oops. ChangeLog entry for previousDan Winship2000-02-251-0/+9
| | | | svn path=/trunk/; revision=1920
* Move "separator" from camel-store to camel-folder, since it can vary fromDan Winship2000-02-256-85/+37
| | | | | | | location to location in an IMAP store. Rename CamelFolder::init_with_store to init and add parent_folder, name, and separator arguments. svn path=/trunk/; revision=1919
* use CamelExceptions for run-time errors, not incorrect code. Don't botherDan Winship2000-02-253-751/+156
| | | | | | | | | * camel-folder.c: use CamelExceptions for run-time errors, not incorrect code. Don't bother validating that an object exists from inside one of its methods, since you couldn't have gotten there if it didn't. Fix some code style bugs. svn path=/trunk/; revision=1918
* Free the data in the headers hash table. (_add_header): g_strdup theDan Winship2000-02-243-6/+26
| | | | | | | | | | | | | * camel-medium.c (_finalize): Free the data in the headers hash table. (_add_header): g_strdup the header name and value when adding it. * camel-mime-part-utils.c (camel_mime_part_construct_headers_from_stream): Free the header data after calling camel_medium_add_header, since it will have g_strdup()ed it itself. svn path=/trunk/; revision=1913
* Fix an exception error message.Bertrand Guiheneuf2000-02-241-3/+5
| | | | svn path=/trunk/; revision=1909
* Dont compile by default.NotZed2000-02-233-2/+20
| | | | | | | | | | 2000-02-22 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-search.c: Dont compile by default. * providers/mbox/Makefile.am: Fuck off the filter code. svn path=/trunk/; revision=1907
* don't read the char if we reached the length of the output buffer. Hoursbertrand2000-02-223-39/+49
| | | | | | | | | | | 2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org> * camel-stream-b64.c (read_decode__static): don't read the char if we reached the length of the output buffer. Hours lost on this %$!@# bug : 3.5 svn path=/trunk/; revision=1903
* fix to show a sample correct implementation.bertrand2000-02-227-70/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org> * message-list.c (message_list_set_folder): fix to show a sample correct implementation. * camel-folder.c (camel_folder_get_subfolder): (camel_folder_create): (camel_folder_delete): (camel_folder_delete_messages): (camel_folder_list_subfolders): (camel_folder_expunge): (camel_folder_get_message_by_number): (camel_folder_get_message_count): (camel_folder_append_message): (camel_folder_copy_message_to): (camel_folder_get_summary): (camel_folder_get_message_uid): (camel_folder_get_message_by_uid): (camel_folder_get_uid_list): Check folder state (open/close) and raise an exception if it is not ok. * providers/mbox/camel-mbox-folder.c (_create): create the file and the path with two different names. * camel-folder.c (_create): handle the case when the folder name starts with '/' * camel-exception.c (camel_exception_new): use (void) instead of () in decl. * camel-exception.h: cosmetic fixes. * camel-exception.c (camel_exception_init): new routine. Fix a bug in mail/message-list.c * camel-folder.h: cosmetic changes. * camel-stream-b64.c (reset__static): added a reset method. Thanks message-browser to find so much bugs :) * providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): readd Unicode libs. Fixes and exception handling in camel-folder. Fixes in mail/evolution-mail to make it not segfault and to demonstrate a correct implementation. svn path=/trunk/; revision=1902
* added a reset method. Thanks message-browser to find so much bugs :)bertrand2000-02-223-3/+33
| | | | | | | | | | | | | | | | | | 2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org> * camel-stream-b64.c (reset__static): added a reset method. Thanks message-browser to find so much bugs :) * providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): readd Unicode libs. * shell/Makefile.am (evolution_LDADD): add libetext.a. Fixes. svn path=/trunk/; revision=1900
* A lot of changes in the way the parsing works. I am too lazyBertrand Guiheneuf2000-02-2210-10/+529
| | | | | | | | | | to find all the changes. Important notice, I added uggly hacks to camel-formatter.c and message-browser so that I could test b64 decoding. Saving streams works. Have to implement qp now. svn path=/trunk/; revision=1893
* Uh, fixed LIBADD again. What was there was never ever going to work,NotZed2000-02-222-7/+6
| | | | | | | | | 2000-02-21 NotZed <NotZed@HelixCode.com> * providers/mbox/Makefile.am: Uh, fixed LIBADD again. What was there was never ever going to work, wasn't it tested? svn path=/trunk/; revision=1891
* Add "authenticator" to CamelSession and update things to use it.Dan Winship2000-02-224-7/+59
| | | | svn path=/trunk/; revision=1890
* add CamelExceptions to several functions. Use camel_session_new toDan Winship2000-02-2211-213/+266
| | | | | | | | | | | | | | | | | | | | | | * camel-session.h: * camel-session.c: add CamelExceptions to several functions. Use camel_session_new to initialize the session and URL fields of created CamelStores as appropriate. * camel-store.h: * camel-store.c * camel-service.h: * camel-service.c: Move the session and url (and associated functions) from CamelStore to CamelService. Add url_flags to CamelService so subclasses can specify which URL components are mandatory for them. Add camel_session_new for camel_session_get_store* to use. * providers/mbox/camel-mbox-folder.c: * providers/mbox/camel-mbox-store.c: * providers/mbox/camel-mbox-store.h: Update for above changes. svn path=/trunk/; revision=1888
* Once camel is being used for real, exceptions won't be renumberable. SoDan Winship2000-02-212-3/+16
| | | | | | | | | * camel-exception-list.def: Once camel is being used for real, exceptions won't be renumberable. So renumber them now to make more room to add exceptions to the various categories later, and add a big warning message. svn path=/trunk/; revision=1887
* add libibex back to libcamelmbox_la_LIBADDDan Winship2000-02-212-2/+6
| | | | svn path=/trunk/; revision=1872
* clean up warningsDan Winship2000-02-211-12/+8
| | | | svn path=/trunk/; revision=1869
* Michael created camel/ChangeLog on 2/12 but didn't commit it until 2/18,Dan Winship2000-02-211-0/+183
| | | | | | | | | meaning his ChangeLog entries ended up there and everyone else's ended up in the top-level ChangeLog. Move the post-2/12 ChangeLog entries from ChangeLog to camel/ChangeLog so that you don't need to look in two different places for that week's worth of commits. svn path=/trunk/; revision=1868
* Added exception to call, and fixed caller.NotZed2000-02-196-712/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-18 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-search.h (camel_mbox_folder_search_by_expression): Added exception to call, and fixed caller. * providers/mbox/camel-mbox-search.c (camel_mbox_folder_search_by_expression): Major changes, to use the sexp evaluator from filter/filter-sexp.c to implement the searching. (func_body_contains): Changed to support multiple strings in 1 command (results or'd together) * url-util.c (g_url_new): Fixed a typo (colon == 0 isn't right), and made it so full url's are absolute pathed (Dan, this is how it has to work!). Also, always include a path part, even if it is an empty string. 2000-02-16 NotZed <NotZed@HelixCode.com> * providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Added libfilter to link line (temporarily?). Required for filter-sexp. svn path=/trunk/; revision=1855
* Statically link with ibexMiguel de Icaza2000-02-191-2/+2
| | | | svn path=/trunk/; revision=1853
* New header with the typedefs for all camel classes. Now the class headersDan Winship2000-02-1934-97/+125
| | | | | | | | | | | | | | | * camel/camel-types.h: New header with the typedefs for all camel classes. Now the class headers can just include this and the header for the parent type. This makes it possible for CamelService to include a CamelSession without creating an #include loop. * camel/*: * composer/e-msg-composer-attachment-bar.h: * mail/folder-browser.c: * mail/message-list.c: frob #includes to match the new reality svn path=/trunk/; revision=1850
* fix a stupid typo (thank you gcc -Wall)Dan Winship2000-02-191-1/+1
| | | | svn path=/trunk/; revision=1849
* #include <ctype.h> so the hash function doesn't get stuck using theDan Winship2000-02-191-1/+1
| | | | | | function version of toupper! svn path=/trunk/; revision=1848
* make the / between the host and the path part of the path: it's wrongDan Winship2000-02-191-3/+2
| | | | | | according to rfc1738, but convenient svn path=/trunk/; revision=1840
* Modification in the automake/libtool building process so thatBertrand Guiheneuf2000-02-181-1/+1
| | | | | | | | | | camel and tests at least compile. Current libtool doen't seem to support lib dependancy unless the lib is installed. Removed the dependancy on libex in mbox and added it to the other Makefile.am that link with libcamel. svn path=/trunk/; revision=1838
* libraries come from $(top_builddir)/..., not $(top_srcdir)/...Dan Winship2000-02-181-3/+3
| | | | svn path=/trunk/; revision=1837
* use camel_stream_reset instead of seek. The formatter should be able tobertrand2000-02-1816-66/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-formatter.c (handle_text_plain): (handle_text_html): use camel_stream_reset instead of seek. The formatter should be able to work with all streams, not only seekable streams. In the case where some provider implementation would not be able to provide a reset method to their stream, implementors would have to find a workaround. * camel/camel-session.c (camel_session_new): use (void) instean of () in function decl. * camel/camel-folder.c: ifdef async operation related code. * camel/camel-seekable-stream.c (_seek): added a warning. (_reset): default implementation of reset for seekable stream. * camel/camel-mime-message.h: set_received_date declaration fix. cosmetic changes. * camel/providers/mbox/camel-mbox-provider.c (camel_provider_module_init): use (void) instead of (). * camel/camel-stream.c (camel_stream_reset): new method for CamelStream. svn path=/trunk/; revision=1835
* Make camel-service use a Gurl internally. Remove the login/passwordDan Winship2000-02-182-119/+73
| | | | | | | | | interfaces and instead provide camel_service_connect_with_url. Also, added CamelExceptions and return values, so the functions can indicate failure to the caller if they can't connect. svn path=/trunk/; revision=1834
* New function g_url_to_string to convert a Gurl back into a char *Dan Winship2000-02-182-1/+24
| | | | svn path=/trunk/; revision=1833
* revamped so that it uses the output stream of the data wrapperbertrand2000-02-1710-139/+340
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-formatter.c (handle_text_plain): revamped so that it uses the output stream of the data wrapper (handle_text_html): ditto. * camel/camel-simple-data-wrapper.h: * camel/camel-simple-data-wrapper.c (camel_simple_data_wrapper_new): use (void) instead of (). (_get_output_stream): simple implementation. A lot of small fixes so that the new parser scheme works properly. Simple implementation of the stream though. Changed vette-formatter files so that they work with the new scheme. The new parser is now in a usable state. Still needs some work but the infrastructure is here. /me is happy. svn path=/trunk/; revision=1822
* don't seek the begining of the substream. (_eos): fix eos conditionbertrand2000-02-1718-196/+129
| | | | | | | | | | | | | | | | | | | | | | 2000-02-16 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-seekable-substream.c (_set_bounds): don't seek the begining of the substream. (_eos): fix eos condition testing. (_finalize): unref parent stream (_init_with_seekable_stream_and_bounds): ref parent stream * camel/gstring-util.c (g_string_equal_for_hash): (g_string_equal_for_glist): return type is int. * camel/camel.h: * camel/camel.c (camel_init): use (void) instead of (). A lot of other small changes to make the set_input_stream scheme work. It actually works. svn path=/trunk/; revision=1798
* Simplify the code a lot and add support for RFC2384 POP URLs.Dan Winship2000-02-172-352/+81
| | | | svn path=/trunk/; revision=1797
* Make md5_final take the MD5Context first, like md5_init and md5_update.Dan Winship2000-02-173-6/+6
| | | | svn path=/trunk/; revision=1796
* fix minor typosDan Winship2000-02-163-3/+3
| | | | svn path=/trunk/; revision=1795
* Improve spelling and English a bitDan Winship2000-02-161-15/+15
| | | | svn path=/trunk/; revision=1794
* this routine replaces the _read_part routine and does not store the partbertrand2000-02-165-15/+164
| | | | | | | | | | | | | | | | | | | | | | | | 2000-02-15 bertrand <bertrand@helixcode.com> * camel/camel-multipart.c (_localize_part): this routine replaces the _read_part routine and does not store the part in a buffer. (_set_input_stream): use the set_input_stream instead of the construct_from_stream. each bodypart is given an input stream. * camel/camel-mime-part-utils.c: include the data-wrapper-repository header. (camel_mime_part_construct_content_from_stream): use the set_input_stream instead of the construct_from_stream method. * camel/camel-seekable-substream.c (_set_bounds): cur position is set to 0 not to inf_bound. Sync svn path=/trunk/; revision=1790
* Add the unicode libraries as well.Miguel de Icaza2000-02-165-29/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-14 Miguel de Icaza <miguel@gnu.org> * camel/providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Add the unicode libraries as well. * camel/camel-provider.c (camel_provider_register_as_module): Add error reporting here. Desire to use Solaris increases. Hair loss in the last two hours: 5,400. * camel/providers/mbox/camel-mbox-provider.c (camel_mbox_get_provider): Renamed function. * camel/camel.h: All include files use camel/ now here. * camel/providers/mbox/Makefile.am: Drop all the dynamism from Camel, and make this a standard library. * configure.in: set the UNICODE_LIBS variable here. 2000-02-14 Miguel de Icaza <miguel@gnu.org> * folder-browser.c (folder_browser_load_folder): New routine, loads a camel folder. (folder_browser_set_uri): redo. * session.c: new file. Implements SessionStores to keep track of a Session/Store tuple. svn path=/trunk/; revision=1783
* include gmime-base64.h various compilation and runtime fixes.bertrand2000-02-159-135/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part.c: include gmime-base64.h various compilation and runtime fixes. (_set_input_stream): store the input substream for the content object. * camel/camel-data-wrapper.h: declare the set/get function on input/output stream. * camel/camel-mime-part.c (_get_content_object): don't use a temporary mem stream. * camel/camel-seekable-substream.c (_seek): (_eos): (_read): the substream can be unlimited in length * camel/camel-data-wrapper.c (camel_data_wrapper_class_init): set the get/set_input/output_stream methods. * camel/camel-multipart.c (_construct_from_stream): camel_stream_seek -> camel_seekable_stream_seek work on the new parser scheme. temporary sync to laptop. svn path=/trunk/; revision=1781
* use the eos stream method. (gmime_read_line_from_stream): ditto.bertrand2000-02-151-1/+7
| | | | | | | | | | | | | | | | | | | | | | | 2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/gmime-utils.c (get_header_array_from_stream): use the eos stream method. (gmime_read_line_from_stream): ditto. * camel/camel-stream-fs.h (struct ): add the eof field cosmetics changes. * camel/camel-stream-fs.c (camel_stream_fs_init): set eof. (_read): set eof on end of file. (_eos): implemented. * camel/gmime-utils.c (get_header_array_from_stream): make a blocking version of the header parser. When the fs stream uses gnome-vfs, this should be changed. (gmime_read_line_from_stream): ditto. svn path=/trunk/; revision=1780
* use the eos stream method. (gmime_read_line_from_stream): ditto.bertrand2000-02-153-20/+43
| | | | | | | | | | | | | | | | | | | | | | | 2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/gmime-utils.c (get_header_array_from_stream): use the eos stream method. (gmime_read_line_from_stream): ditto. * camel/camel-stream-fs.h (struct ): add the eof field cosmetics changes. * camel/camel-stream-fs.c (camel_stream_fs_init): set eof. (_read): set eof on end of file. (_eos): implemented. * camel/gmime-utils.c (get_header_array_from_stream): make a blocking version of the header parser. When the fs stream uses gnome-vfs, this should be changed. (gmime_read_line_from_stream): ditto. svn path=/trunk/; revision=1779
* make a blocking version of the header parser. When the fs stream usesbertrand2000-02-1512-73/+685
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/gmime-utils.c (get_header_array_from_stream): make a blocking version of the header parser. When the fs stream uses gnome-vfs, this should be changed. (gmime_read_line_from_stream): ditto. 2000-02-11 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-stream-fs.c: everywhere, when using the cur_pos field, do it on the CamelSeekableStream object. (_seek): small fix. * camel/camel-seekable-stream.c (camel_seekable_stream_seek): s/camel_stream_seek/camel_seekable_stream_seek/g * camel/camel-seekable-stream.h: (struct ): added a field to store the current position. * camel/camel-seekable-stream.c (camel_seekable_stream_get_current_position): New function. Allows to get the current position of a seekable stream. In fact much more changes, but I am lazy. This is the begining of some major changes in camel. svn path=/trunk/; revision=1778
* by default, a message/rfc822 object is handled by the CamelMimeMessagebertrand2000-02-151-0/+3
| | | | | | | | | | | 2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/data-wrapper-repository.c (data_wrapper_repository_init): by default, a message/rfc822 object is handled by the CamelMimeMessage class. Should fix Matt's fantastic Message viewer test. svn path=/trunk/; revision=1776
* remove camel-stream-buffer from compilation process. It is not hereBertrand Guiheneuf2000-02-141-2/+0
| | | | svn path=/trunk/; revision=1775
* New file, implements the search api for mbox folders.NotZed2000-02-1410-33/+948
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-13 NotZed <notzed@zedzone.helixcode.com> * providers/mbox/camel-mbox-search.c: New file, implements the search api for mbox folders. * providers/mbox/Makefile.am: Link with ibex. * camel-folder.c (camel_folder_has_search_capability): Api additions. (camel_folder_search_by_expression): Ditto. 2000-02-12 NotZed <notzed@zedzone.helixcode.com> * providers/mbox/camel-mbox-folder.c (_set_name): Setup index filename as well. (_init_with_store): Init index filename. Hmm, none of these names ever seem to get free'd (FIXME?) * providers/mbox/camel-mbox-folder.h: Add index file name. 2000-02-12 NotZed <notzed@helixcode.com> * camel-folder.h: Add folder search functions. ** Created ChangeLog just for camel ** - refer to ../ChangeLog for changes prior to this date. svn path=/trunk/; revision=1772
* + * tests/ui-tests/test-multipart-mixed.msg: New rfc822 file, whichMatthew Loper2000-02-141-1/+4
| | | | | | | | | | | + crashes message-browser. + + * tests/ui-tests/message-browser.c (get_gtk_html_window): Takes a + CamelMimeMessage as a param, rather than a filename. + (main): Puts our windows in an hpane rather than a vbox. Also + opens a file dlg box if a filename wasn't given as a first param. svn path=/trunk/; revision=1771
* + * camel/camel-stream-fs.c (_init_with_name): Set stream_fs->fd toMatthew Loper2000-02-141-2/+9
| | | | | | | | | | + -1 if we fail to load the file. + (camel_stream_fs_new_with_name): If stream_fs->fd is -1, return + NULL. These changes make it so that a CamelStreamFs won't be + created if you give it a bogus filename; they may be replaced once + exception handling is in place. svn path=/trunk/; revision=1767
* + * tests/ui-tests/message-browser.c (handle_tree_item): Expand treeMatthew Loper2000-02-141-54/+64
| | | | | | | | | | | | | | | | | | | | | | + items. + (mime_message_to_html): New function; translates a + CamelMimeMessage into two strings (one for the header, and one for + the body). + (get_gtk_html_window): New function; fills out a window with + html. The html is taken from a processed rfc822 file, via a + CamelFormatter. + + * camel/camel-formatter.c: Added assertions. + (handle_text_html): Don't call text_to_html on something that's + already html. + (multipart_foreach): function deleted. + + * mail/html-stream.c (html_stream_new): Second param of + gtk_html_begin should be "", not NULL. + (html_stream_new): gtk_html_parse() is deprecated, so the call was + removed. svn path=/trunk/; revision=1766
* parent class is seekable stream, not streambertrand2000-02-111-1/+1
| | | | | | | | | 2000-02-11 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-stream-fs.c (camel_stream_fs_class_init): parent class is seekable stream, not stream svn path=/trunk/; revision=1731
* default the text/* mime types to CamelSimpleDataWrapper so that Michaelbertrand2000-02-111-0/+3
| | | | | | | | | | 2000-02-10 bertrand <Bertrand.Guiheneuf@aful.org> * camel/data-wrapper-repository.c (data_wrapper_repository_init): default the text/* mime types to CamelSimpleDataWrapper so that Michael can use get_stream. svn path=/trunk/; revision=1727
* Bad Ettore, no biscuit!NotZed2000-02-111-1/+1
| | | | | | | | | 2000-02-10 NotZed <notzed@zedzone.helixcode.com> * camel/camel-simple-data-wrapper-stream.h: The superclass is actually a seekable stream, not just a stream. svn path=/trunk/; revision=1726
* don't build thread related tests if evolution has been compiled with nobertrand2000-02-112-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-10 bertrand <Bertrand.Guiheneuf@aful.org> * tests/Makefile.am (THREAD_RELATED_TESTS): don't build thread related tests if evolution has been compiled with no thread support. * configure.in (have_pthread): allow user to enable/disable thread support at configure time (EXTRA_GNOME_CFLAGS): (EXTRA_GNOME_LIBS): thread support is directly included in this variable if enabled. No more EXTRA_GNOME_CFLAGS_THREADS Other special support should be added in EXTRA_GNOME_LIBS and EXTRA_GNOME_CFLAGS instead of redefining a new variable each time we want to add a new lib. (bonobo, ....) * camel/camel.c (camel_init): only try to initialize threads if we enabled threads support. * tests/ui-tests/Makefile.am (message_browser_LDADD): use EXTRA_GNOME_LIBS * configure.in (have_pthread): remove HAVE_PTHREADS variable. Define ENABLE_THREADS instead. * camel/Makefile.am: use ENABLE_THREADS not HAVE_PTHREADS to test if we build thread relateed code. * tests/Makefile.am: use EXTRA_GNOME_LIBS, not EXTRA_GNOME_LIBS_THREADS I need to be able to disable thread support to use Insure. svn path=/trunk/; revision=1725
* Removed a bizarre comparison construct for converting case.NotZed2000-02-103-12/+12
| | | | | | | | | | | | | | | | | 2000-02-10 NotZed <notzed@zedzone.helixcode.com> * camel/hash-table-utils.c (g_strcase_hash): Removed a bizarre comparison construct for converting case. 2000-02-09 NotZed <notzed@zedzone.helixcode.com> * camel/data-wrapper-repository.c (data_wrapper_repository_init): Uses case-insensitive compares. * camel/gmime-content-field.c (gmime_content_field_new): Uses case-insensitive compares. svn path=/trunk/; revision=1723
* Increment the copy source address to match the data read offset. (seek):NotZed2000-02-101-2/+7
| | | | | | | | | | 2000-02-09 NotZed <notzed@zedzone.helixcode.com> * camel/camel-simple-data-wrapper-stream.c (read): Increment the copy source address to match the data read offset. (seek): Actually implement the seek. svn path=/trunk/; revision=1722
* If we get a -1 read, DONT update the total bytes, and try and truncate theNotZed2000-02-102-12/+18
| | | | | | | | | | | | | | | | 2000-02-09 NotZed <notzed@zedzone.helixcode.com> * camel/camel-mime-part-utils.c (camel_mime_part_store_stream_in_buffer): If we get a -1 read, DONT update the total bytes, and try and truncate the array in reverse. Eek. * camel/camel-mime-part.c (camel_mime_part_encoding_from_string): This was DEFINETLEY not the right way to do it. strncmp!=strcmp (camel_mime_part_encoding_to_string): Handle the default case. : include string.h for strcmp() etc. svn path=/trunk/; revision=1720
* set the mime type to "mime/message". --- THIS IS NOT THE CONTENT TYPE ---bertrand2000-02-105-21/+24
| | | | | | | | | | | | | | | | | | | | | | | 2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-message.c (camel_mime_message_init): set the mime type to "mime/message". --- THIS IS NOT THE CONTENT TYPE --- * camel/camel-mime-body-part.c (camel_mime_body_part_init): set the mime type to "body-part". --- THIS IS NOT THE CONTENT TYPE --- * camel/camel-data-wrapper.c (camel_data_wrapper_set_mime_type): mime_type is const. (_set_input_stream): really set the input stream (_set_output_stream): really set the output stream various other typo fixes. * tests/ui-tests/message-browser.c: various typo fixes in the ctree construction. svn path=/trunk/; revision=1712
* various typo fixes in the ctree construction.bertrand2000-02-109-21/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org> * tests/ui-tests/message-browser.c: various typo fixes in the ctree construction. * camel/string-utils.c (string_trim): fix braindead trailing trim bug. * camel/gmime-content-field.c (gmime_content_field_construct_from_string): strip the leading and trailing quotes when constructing the content field. This should be done in a more generic RFC822 approach, but this fixes a bug that prevent matt from analysing some multipart messages. * camel/camel-data-wrapper.h: reorganize the deprecated and new methods. * camel/providers/mbox/camel-mbox-folder.c (_check_get_or_maybe_generate_summary_file): Use "From " as the message separating string. * camel/providers/mbox/camel-mbox-folder.c (_append_message): set the mode when creating the mbox file. * camel/providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): ditto * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary): ditto svn path=/trunk/; revision=1711
* Actually initialise the class. It simple couldn't have worked before.NotZed2000-02-091-0/+17
| | | | | | | | | | | 2000-02-09 NotZed <notzed@zedzone.helixcode.com> * camel/camel-simple-data-wrapper-stream.c (class_init): Actually initialise the class. It simple couldn't have worked before. (camel_simple_data_wrapper_stream_construct): Commented out code which crashes just to get something working, memory corruption?? svn path=/trunk/; revision=1707
* New file; shows a message in tree format, where multipart's have multipleMatthew Loper2000-02-091-23/+23
| | | | | | | | | | * tests/ui-tests/message-browser.c: New file; shows a message in tree format, where multipart's have multiple leaves. * camel/camel-formatter.c: Changed references from 'multipart/alternate' to 'multipart/alternative'. svn path=/trunk/; revision=1700
* + * tests/test-formatter.c (convert_to_html_and_print): Use theMatthew Loper2000-02-091-9/+39
| | | | | | | | | | | + buffer length of the stream to create strings which are then + printed, rather than printing the stream (which might not have a + trailing \0) directly. + + * camel/camel-formatter.c (str_tolower): New function; makes a + string lowercase. svn path=/trunk/; revision=1698
* + * tests/test-formatter.c (convert_to_html_and_print): Fixed callMatthew Loper2000-02-091-2/+2
| | | | | | | + to 'camel_formatter_mime_message_to_html' to contain correct + params. svn path=/trunk/; revision=1697
* New member to 'CamelFormatterPrivate', 'attachments', will be used to letMatthew Loper2000-02-092-151/+346
| | | | | | | | | | | | | | | | | | * camel/camel-formatter.c: New member to 'CamelFormatterPrivate', 'attachments', will be used to let the caller know which items should be treated as attachments (as opposed to objects which are inline to the body). (text_to_html): name changed from 'encode_entities'. Also now converts newlines to <br> tags. (camel_formatter_mime_message_to_html): Now takes two output streams -- one for the header, and one for the body. (get_bonobo_tag_for_object): New function; tries to make a tag out of (1) the leaf of a mime message and (2) a bonobo object that can handle its mime type, but can return NULL if it fails to find the mime type. (handle_vcard): New function; will write out a vcard as html. svn path=/trunk/; revision=1696
* function deleted.Matthew Loper2000-02-081-76/+0
| | | | | | * camel/camel-formatter.c (mime_part_to_html): function deleted. svn path=/trunk/; revision=1688
* + * tests/test-formatter.c (print_usage_and_quit): New function,Matthew Loper2000-02-081-60/+89
| | | | | | | | | | | | + which gives usage information. + + * camel/camel-formatter.c: made the 'stream' a member of the + CamelFormatter class, so that streams don't have to be explicitly + sent as a param where a CamelFormatter is also sent.. + (handle_text_plain): Use 'encode_entities' to change '<' to + '&gt;', etc. svn path=/trunk/; revision=1687
* *** empty log message ***Bertrand Guiheneuf2000-02-021-3/+3
| | | | svn path=/trunk/; revision=1661
* + * tests/test-formatter.c: New file; intended to test theMatthew Loper2000-02-021-181/+467
| | | | | | | | | | | + CamelFormatter class. + + * camel/camel-formatter.c: Lots of cleanup, commenting, some new + functions, and a really basic skeleton for getting bonobo objects + into the html. + (encode_entities): New function, stolen from Daniel Velliard. svn path=/trunk/; revision=1660
* + * camel/camel-formatter.c: By looking up a mimetype in aMatthew Loper2000-01-262-50/+159
| | | | | | | + hashtable, we can now get a handler function for an arbitrary + mimetype. svn path=/trunk/; revision=1641
* renamed mbox_folder->summary to mbox_folder->internal_summary to avoidbertrand2000-01-265-32/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-26 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-folder.c: renamed mbox_folder->summary to mbox_folder->internal_summary to avoid confusion with the camel_folder->summary field. (_append_message): (_check_get_or_maybe_generate_summary_file): update the external summary thingie. * camel/camel-folder-summary.c (camel_folder_summary_new): create the message and folder info arrays. * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_summary_append_internal_to_external): new function to append entries from the internal summary to the external one. * camel/providers/mbox/camel-mbox-folder.c (_append_message): reflect name change. * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_summary_append_entries): namespace fix. svn path=/trunk/; revision=1632
* The CamelDataWrapper can now be provided with input and output streams, sobertrand2000-01-254-7/+90
| | | | | | | | | | | | | | | | | | 2000-01-24 bertrand <bertrand@helixcode.com> * camel/camel-data-wrapper.h: * camel/camel-data-wrapper.c (_set_input_stream): (_get_input_stream): (_set_output_stream): (_get_output_stream): The CamelDataWrapper can now be provided with input and output streams, so that nothing has to be kept in memory. * camel/camel-stream.c (camel_stream_class_init): added the "data_available" signal. svn path=/trunk/; revision=1624
* parent class is now CamelSeekableStream idem idem idem idem (_seek):bertrand2000-01-2512-53/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-24 bertrand <bertrand@helixcode.com> * camel/camel-seekable-stream.c: * camel/camel-seekable-stream.h: * camel/camel-simple-data-wrapper-stream.h: parent class is now CamelSeekableStream * camel/camel-stream-buffered-fs.h: idem * camel/camel-stream-buffered-fs.c: idem * camel/camel-stream-mem.h: idem * camel/camel-stream-mem.c: idem (_seek): change declaration * camel/camel-stream-fs.c: parent class is now CamelSeekableStream (_seek): change declaration * camel/camel-stream-fs.h: parent class is now CamelSeekableStream Major compatible change in the stream hierarchy. Removed the seek method from the general streams so that we can use them as "DataSources". svn path=/trunk/; revision=1622
* converted all gint64 variables into guint32.bertrand2000-01-254-24/+39
| | | | | | | | | | | | | | | | 2000-01-24 bertrand <bertrand@helixcode.com> * camel/camel-stream-fs.[ch]: converted all gint64 variables into guint32. * camel/camel-stream-fs.c (_read): fix stupid bug. (_write): ditto. * camel/camel-exception.c (camel_exception_new): don't forget to clean the exception when creating it. svn path=/trunk/; revision=1621
* add recipient_list to the recipients, not recipients_list. I don't knowbertrand2000-01-2413-33/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-24 bertrand <bertrand@helixcode.com> * camel/camel-recipient.c (camel_recipient_table_add_list): add recipient_list to the recipients, not recipients_list. I don't know what that variable was doing here. 2000-01-23 bertrand <bertrand@helixcode.com> * camel/camel-store.c (camel_store_get_session): added a public get_session method. * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary): (camel_mbox_load_summary): load/save message sizes in the summary file * camel/providers/mbox/camel-mbox-summary.h: added a size field to the message information structure. * camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary): copy message size to the mbox summary information too. * camel/camel-stream-fs.c (_seek): updated to work with bounded fs streams. (_write): ditto. (_read): ditto. * camel/camel-stream-fs.h (struct ): added the cur_pos, inf_bound and sup_bound members to allow for bounded fs stream. * camel/camel-stream-fs.c (_set_bounds): new func. (_init_with_fd_and_bounds): idem. (_init_with_name_and_bounds): idem. New functions to allow the usage of bounded fs streams. The bounded fs stream allow, for example, to make a stream from a message stored in an mbox file. svn path=/trunk/; revision=1620
* new function, broken out from 'camel_formatter_make_html'.Matthew Loper2000-01-242-22/+159
| | | | | | | | | | | * camel/camel-formatter.c (write_header_info_to_stream): new function, broken out from 'camel_formatter_make_html'. (write_mimepart_to_stream): same. (find_text_body_part_in_multipart_related): new function. (camel_formatter_make_html): Now tries to deal with multipart/related, multipart/alternate, and text/(plain|html). svn path=/trunk/; revision=1619
* use the real summary file path instead of a stupid hardcoded one. Fixesbertrand2000-01-235-20/+50
| | | | | | | | | | | | | | | | | 2000-01-22 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-folder.c (_check_get_or_maybe_generate_summary_file): use the real summary file path instead of a stupid hardcoded one. Fixes yet another bug. * camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary): don't forget to copy the date too. Fix a very annoying bug. * camel/providers/mbox/camel-mbox-folder.c (_append_message): implemented. A lot of fixes too. Works now. (_get_uid_list): implemented. svn path=/trunk/; revision=1609
* implemented. A lot of fixes too. Works now.bertrand2000-01-235-32/+90
| | | | | | | | | 2000-01-22 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-folder.c (_append_message): implemented. A lot of fixes too. Works now. svn path=/trunk/; revision=1608
* test the mbox provider.bertrand2000-01-223-6/+39
| | | | | | | | | | | | | | | | | | | | | | 2000-01-21 bertrand <bertrand@helixcode.com> * tests/test10.c: test the mbox provider. * camel/camel-folder.c (_set_name): if camel_folder_get_mode returns an exception, return it instead of overriding it with a new one. (camel_folder_is_open): make the is_open method public. (_set_name): use the is_open instead of get_mode. (_set_name): set the fullname even in the case where the folder has no parent. (_set_name): use %c, not %d to add the separator char into the full path. svn path=/trunk/; revision=1606
* add exception handling everywhere in the store related functionsbertrand2000-01-229-63/+57
| | | | | | | | | | | | | | | | 2000-01-21 bertrand <bertrand@helixcode.com> * camel/camel-store.c: add exception handling everywhere in the store related functions arguments. * camel/providers/mbox/camel-mbox-folder.c: idem * camel/providers/mbox/camel-mbox-folder.h: idem * camel/providers/mbox/camel-mbox-store.h: idem * camel/providers/mbox/Makefile.am (libcamelmbox_la_SOURCES): added camel-mbox-provider.c to the mbox provider sources. svn path=/trunk/; revision=1605
* added camel-mbox-provider.c to the mbox provider sources.bertrand2000-01-229-42/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-21 bertrand <bertrand@helixcode.com> * camel/providers/mbox/Makefile.am (libcamelmbox_la_SOURCES): added camel-mbox-provider.c to the mbox provider sources. * camel/providers/mbox/camel-mbox-provider.c: provider registration code. * camel/providers/mbox/camel-mbox-folder.c (_get_message_count): implemented (_append_message): implemented * camel/providers/mbox/camel-mbox-parser.c (initialize_buffer): use \0 to mark the end of the buffer. (read_next_buffer_chunk): ditto. (read_header): test the presence of a \0 instead of reading the eof field (read_message_begining): idem. (camel_mbox_parse_file): idem. Remove the eof field from the parser structure. (read_next_buffer_chunk): removed some nasty bugs again. svn path=/trunk/; revision=1604
* + * camel/camel-formatter.c (camel_formatter_make_html): added aMatthew Loper2000-01-222-35/+26
| | | | | | | + CamelMimeMessage as a param to this function, and removed it as a + member of the object. svn path=/trunk/; revision=1602
* New files. You'll be able to use a CamelFormatter to get html-formattedMatthew Loper2000-01-213-0/+264
| | | | | | | | * camel/camel-formatter.c, camel/camel-formatter.h: New files. You'll be able to use a CamelFormatter to get html-formatted versions of a CamelMimeMessage. svn path=/trunk/; revision=1600
* implemented.bertrand2000-01-206-116/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-19 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-folder.c (_get_message_count): implemented. * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary): (camel_mbox_load_summary): save/load the next uid. * camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): Compute the next available uid. * camel/providers/mbox/camel-mbox-folder.c (_create): (_check_get_or_maybe_generate_summary_file): Set and use the next_uid field properly. * camel/providers/mbox/camel-mbox-summary.h: added an extra field to store the next available uid. * camel/providers/mbox/camel-mbox-folder.c (_check_get_or_maybe_generate_summary_file): routine called when the folder is opened. Reads or creates the summary file. (_create): initialize the internal summary structure. (_close): save the summary file on closing. (_init_with_store): initialize mbox specific folder members. svn path=/trunk/; revision=1597
* tests for summary and parsing process of mbox files.bertrand2000-01-196-22/+34
| | | | | | | | | | | | | | | | | | | | | | | 2000-01-18 bertrand <bertrand@helixcode.com> * tests/test9.c: tests for summary and parsing process of mbox files. * camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): do not use case insensitive comp to detect message separators. Kill some nasty bugs in netscape file parsing, * camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary): don't use g_array_append but write directly inside the array data instead. Better performance and bug fix. * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_load_summary): fix the name and bugs. * camel/camel-folder-summary.h: update the class method definition to match the public defs. svn path=/trunk/; revision=1592
* Ah zut alors. Missing filesBertrand Guiheneuf2000-01-192-0/+267
| | | | svn path=/trunk/; revision=1590
* summary file read/write routines.bertrand2000-01-1911-36/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-18 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary): (mbox_load_summary): summary file read/write routines. * camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary): routine to construct the summary after the mbox file has been parsed and the x-evolution fields inserted. * camel/providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): dont use the x_evolution field but rather the uid to determine the presence of "X-Evolution" in the mail. * camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): parse the status and uid values if the x-evolution has been found. * camel/providers/mbox/camel-mbox-utils.c (camel_mbox_xev_parse_header_content): return the parsed status field correctly. * camel/providers/mbox/camel-mbox-utils.h: fixed bad prototype. * camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): parse and store the "To:" header. * camel/providers/mbox/camel-mbox-parser.h: added a "to" field * camel/camel-folder-summary.c: create the arrays here. * camel/camel-folder-summary.h: the list of summary information is no longer a GList but rather a GArray. Parsing/summary/sync-check is here. Needs testing and integration with the rest of the folder code. svn path=/trunk/; revision=1589
* test for the mbox utils. (copy_file_chunk): fixed a nasty bug.bertrand2000-01-173-16/+40
| | | | | | | | | | | | | | | | | | | 2000-01-17 bertrand <bertrand@helixcode.com> * tests/test9.c (main): test for the mbox utils. (copy_file_chunk): fixed a nasty bug. (camel_mbox_write_xev): create the copy file descriptor with the proper arguments. Exceptions implememnted. (camel_mbox_write_xev): changed the way bytes are counted. No more uses the message size cause it did not take into account the message separators characters. (camel_mbox_write_xev): hopefully fixed the last bugs. works ok now. Summary information / X-Evolution header generation should all work ok now. svn path=/trunk/; revision=1579
* A bunch of new funcs to handle x-evolution private header field.bertrand2000-01-178-15/+417
| | | | | | | | | | | | | | | | | | | 2000-01-17 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): (copy_file_chunk): (camel_mbox_xev_write_header_content): (camel_mbox_xev_parse_header_content): (string_to_flag): (flag_to_string): (string_to_uid): (uid_to_string): A bunch of new funcs to handle x-evolution private header field. Various others modifications and fixes. svn path=/trunk/; revision=1576
* eof is true when no more chars are available, not when we've read thebertrand2000-01-141-19/+104
| | | | | | | | | | | | | | | | | | | | | | | 2000-01-13 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-parser.c (read_next_buffer_chunk): eof is true when no more chars are available, not when we've read the entire file. (initialize_buffer): ditto. (read_message_begining): documented. (read_header): ditto. (new_message_detected): ditto. (advance_n_chars): ditto. (goto_next_char): ditto. (read_next_buffer_chunk): ditto. (initialize_buffer): ditto. (parser_free): ditto. (new_parser): ditto. More parser decoding and clean-ups. Documented all the static routines properly. svn path=/trunk/; revision=1567
* Added the prototype of camel_mbox_parse_file.bertrand2000-01-132-1/+11
| | | | | | | | | | | | | | 2000-01-12 bertrand <bertrand@helixcode.com> * camel/providers/mbox/camel-mbox-parser.h (camel_mbox_parse_file): Added the prototype of camel_mbox_parse_file. * camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): updated in-line documentation. Evolution is now in a compilable state. svn path=/trunk/; revision=1565
* remove non updated tests from the build process.bertrand2000-01-132-3/+12
| | | | | | | | | | | | | | | | | | 2000-01-12 bertrand <bertrand@helixcode.com> * tests/Makefile.am (noinst_PROGRAMS): remove non updated tests from the build process. * camel/Makefile.am : remove the rfc2047 related files from the build process as for the moment, nothing has been decided concerning unicode. * Makefile.am (evolution_msg_composer_LDADD): use $(EXTRA_GNOME_LIBS_THREADS) to link with gthread svn path=/trunk/; revision=1564
* corrected a bunch of bugsbertrand2000-01-132-47/+286
| | | | | | | | | | | | | | | | | | | | 2000-01-12 bertrand <bertrand@helixcode.com> * corrected a bunch of bugs * camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): parser the subject and date. * camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): added the ability to follow the parsing progression. * camel/providers/mbox/camel-mbox-parser.h: parse the x-evolution field. svn path=/trunk/; revision=1563
* Backup of the first clean and working mbox file parser. It both find thebertrand2000-01-124-41/+442
| | | | | | | | | | | 2000-01-11 bertrand <bertrand@helixcode.com> Backup of the first clean and working mbox file parser. It both find the message and pre-parse the message, that is, retrieve some key headers, and the first lines of the body. svn path=/trunk/; revision=1556
* Lots of reorganization to get the Evolution shell to begin its life. ItArturo Espinosa2000-01-061-0/+1
| | | | | | | | | Lots of reorganization to get the Evolution shell to begin its life. It also includes a new evolution widget from Damon. Miguel. svn path=/trunk/; revision=1536
* sync before BostonBertrand Guiheneuf2000-01-053-6/+175
| | | | svn path=/trunk/; revision=1534
* Updated my e-mail address to reflect my new employmentBertrand Guiheneuf2000-01-0475-76/+76
| | | | svn path=/trunk/; revision=1533
* chkouink chkouinkBertrand Guiheneuf2000-01-041-0/+6
| | | | svn path=/trunk/; revision=1532
* detects netscape ".sdb" folders as well as simple non-suffixed folders (asbertrand2000-01-043-8/+66
| | | | | | | | | | | | | | | | | 2000-01-03 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/mbox/camel-mbox-folder.c (_list_subfolders): detects netscape ".sdb" folders as well as simple non-suffixed folders (as the ones used in pine). * camel/string-utils.c (string_prefix): finished implementation. (string_prefix): added a boolean flag to indicate if the suffix has been found. When the suffix does not match, return NULL. svn path=/trunk/; revision=1531
* sync. Does not compileBertrand Guiheneuf2000-01-034-12/+39
| | | | svn path=/trunk/; revision=1530
* Backup sync.Bertrand Guiheneuf1999-12-274-6/+307
| | | | svn path=/trunk/; revision=1520
* Work in progress. Missing filesBertrand Guiheneuf1999-12-225-0/+832
| | | | svn path=/trunk/; revision=1511
* part of the mbox provider.bertrand1999-12-224-28/+39
| | | | | | | | | | | | 1999-12-22 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/mbox/camel-mbox-store.h: * camel/providers/mbox/camel-mbox-store.c: * camel/providers/mbox/camel-mbox-folder.h: * camel/providers/mbox/camel-mbox-folder.c: part of the mbox provider. svn path=/trunk/; revision=1510
* include camel-log.h to avoid unresolved symbols.bertrand1999-12-201-1/+2
| | | | | | | | | 1999-12-19 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-utils.c: include camel-log.h to avoid unresolved symbols. svn path=/trunk/; revision=1504
* documented.bertrand1999-12-182-1/+13
| | | | | | | | | | | | | | 1999-12-18 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (camel_folder_get_summary): documented. added the providers/mbox directory. Now that camel-folder has been cleaned up a bit, the main evolution provider work can start. The MH provider was only a proof of concept, and should not be used for the moment. svn path=/trunk/; revision=1503
* updated to take the change on append into account.bertrand1999-12-183-17/+28
| | | | | | | | | | | | | | | | | 1999-12-18 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-pt-proxy.c (_append_message): updated to take the change on append into account. * camel/camel-folder.h: updated class def concerning append. * camel/camel-folder.c (camel_folder_append_message): documented. (camel_folder_append_message): don't return the message number. Use specific methods instead. (_append_message): idem. svn path=/trunk/; revision=1502
* use exception mechanism. (camel_folder_delete): idem. (_delete_messages):bertrand1999-12-182-33/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-18 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (_delete): use exception mechanism. (camel_folder_delete): idem. (_delete_messages): idem. (camel_folder_delete_messages): idem. (_get_parent_folder): idem. (camel_folder_get_parent_folder): idem. (_get_parent_store): idem. (_get_mode): idem. (camel_folder_get_parent_store): idem. (camel_folder_get_mode): idem. (_list_subfolders): idem. (camel_folder_list_subfolders): idem. (_expunge): idem. (camel_folder_expunge): idem. (_has_message_number_capability): idem. (camel_folder_has_message_number_capability): idem. (_get_message_by_number): idem. (camel_folder_get_message_by_number): idem. (camel_folder_get_message_count): idem. (_list_permanent_flags): idem. (camel_folder_list_permanent_flags): idem. (_copy_message_to): idem. (camel_folder_copy_message_to): idem. (camel_folder_has_summary_capability): idem. (camel_folder_get_summary): idem. (camel_folder_has_uid_capability): idem. (camel_folder_get_message_uid): idem. (_get_message_uid_by_number): idem. (camel_folder_get_message_uid_by_number): idem. (camel_folder_get_message_by_uid): idem. (camel_folder_get_uid_list): idem. svn path=/trunk/; revision=1501
* use exception mechanism. (camel_folder_set_name): idem.bertrand1999-12-184-18/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (_set_name): use exception mechanism. (camel_folder_set_name): idem. (camel_folder_set_full_name): idem. (_get_name): idem. (camel_folder_get_name): idem. (_get_full_name): idem. (camel_folder_get_full_name): idem. (_can_hold_folders): idem. (_can_hold_messages): idem. (_exists): idem. (camel_folder_exists): idem. (_is_open): idem. (_get_subfolder): idem. (camel_folder_get_subfolder): idem. * camel/camel-exception.c (camel_exception_clear): New function. Clear an exception. (camel_exception_get_id): New function. (camel_exception_get_description): New function. * camel/camel-folder.c (_set_name): Use the exception system. When the folder has no parent, don't set its full name field. svn path=/trunk/; revision=1499
* changed the return value. Now returns the list of expunged messagesbertrand1999-12-176-119/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-16 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (camel_folder_expunge): (_expunge): * camel/camel-folder-pt-proxy.c (_expunge): changed the return value. Now returns the list of expunged messages * camel/camel-folder.c (_init_with_store): cleaned up. Use the exception system now. (_open): ditto. (camel_folder_open): ditto. (camel_folder_open_async): ditto. (_close): ditto. (camel_folder_close): ditto. (camel_folder_close_async): ditto. * camel/camel-exception.c (camel_exception_set): When no exception is given, do nothing, just return. (camel_exception_set): documented. (camel_exception_new): idem. (camel_exception_free): idem. (camel_exception_xfer): idem. * camel/camel-folder.c: * camel/camel-folder.h: more clean-ups. Removed message list related code. This was braindead design. svn path=/trunk/; revision=1494
* implemented. The routines in this file will be called by providers tobertrand1999-12-165-28/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-16 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-utils.c (camel_aml_expunge_messages): implemented. The routines in this file will be called by providers to handle the list of message already standing in memory. 1999-12-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-utils.c: * camel/camel-folder-utils.h: New files, misc utilities for the folder providers. Includes active message list utilities. * camel/camel-folder.c (_has_message_number_capability): (camel_folder_has_message_number_capability): Added this to know if a folder provides number-based message access. * camel/camel-folder.c (_get_message_count): added warning when called directly. (_append_message): ditto (_open_async): ditto (_close_async): ditto (_delete_messages): ditto (_expunge): ditto (_get_message_by_number): ditto (_get_message_uid): ditto (_get_message_uid_by_number): ditto (_get_message_by_uid): ditto (_get_uid_list): ditto svn path=/trunk/; revision=1492
* update (_get_message_by_number): Update to reflect changes in CamelFolderbertrand1999-12-153-99/+121
| | | | | | | | | | | | | | | 1999-12-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-pt-proxy.c (_open_async): (_open): (_close_async): (_close): (camel_folder_pt_proxy_class_init): update (_get_message_by_number): Update to reflect changes in CamelFolder svn path=/trunk/; revision=1491
* clean-ups.bertrand1999-12-152-107/+276
| | | | | | | | | 1999-12-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.[ch]: clean-ups. svn path=/trunk/; revision=1490
* Fix copyright informations once againBertrand Guiheneuf1999-12-1573-73/+73
| | | | svn path=/trunk/; revision=1489
* Make set_* methods in CamelMimeMessage use const strings.Ettore Perazzoli1999-12-092-21/+22
| | | | svn path=/trunk/; revision=1477
* more small typo fixes.Michael Meeks1999-11-261-6/+6
| | | | svn path=/trunk/; revision=1438
* Make `make distcheck' work.Ettore Perazzoli1999-11-171-3/+5
| | | | svn path=/trunk/; revision=1397
* More work:Ettore Perazzoli1999-11-1722-30/+30
| | | | | | | - Fixed some Camel API naming issues. - Moved the message composer stuff to the `composer' directory. svn path=/trunk/; revision=1395
* Added streaming capability to CamelDataWrapper. This makes it possible, forEttore Perazzoli1999-11-1714-55/+805
| | | | | | | example, to build multipart messages out of files that are on disk without loading them in memory. svn path=/trunk/; revision=1394
* Here is my initial Evolution work: message composition widget and someEttore Perazzoli1999-11-0612-26/+30
| | | | | | installation fixes for Camel. svn path=/trunk/; revision=1369
* Copyright changeBertrand Guiheneuf1999-10-2369-70/+274
| | | | svn path=/trunk/; revision=1348
* lap syncBertrand Guiheneuf1999-10-194-61/+218
| | | | svn path=/trunk/; revision=1332
* missing filesBertrand Guiheneuf1999-10-142-0/+653
| | | | svn path=/trunk/; revision=1329
* A lot of changes. The thread proxy mechanismbertrand1999-10-1413-527/+454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is now functional. The signal proxy needs to be tested though. The thread proxy folder is being implemented. A rough summary : 1999-10-13 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (camel_folder_close): the folder->close method is now asynchronous. * camel/camel-folder-pt-proxy.c (_folder_open_cb): (_open): (_folder_open_cb): (_open): open/close method implemented in the thread proxy folder. More to come. * camel/camel-exception.c (camel_exception_xfer): new utility func. * camel/camel-marshal-utils.c: some new marshallers * camel/camel-folder-pt-proxy.c: Some explanations on the thread proxy system. 1999-10-11 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-marshal-utils.c: camel/camel-marshal-utils.h: Handles operation marshalling. * camel/camel-thread-proxy.c: camel/camel-thread-proxy.h: new files. Generic proxy system. * camel/camel-folder-pt-proxy.c moved all proxy related code in dedicated files. (camel_folder_pt_proxy_init): removed proxy initialisation code (_finalize): removed proxy finalization code * camel/camel-exception.c (camel_exception_new): (camel_exception_set): (camel_exception_free): New funcs. svn path=/trunk/; revision=1328
* missing fileBertrand Guiheneuf1999-10-091-0/+186
| | | | svn path=/trunk/; revision=1323
* weekly commitBertrand Guiheneuf1999-10-098-163/+313
| | | | svn path=/trunk/; revision=1322
* redesign of the proxy/marshaling code. Uses GtkArg now. sync commit.Bertrand Guiheneuf1999-09-289-107/+446
| | | | | | | * redesign of the proxy/marshaling code. Uses GtkArg now. * sync commit. Evolution does not build at all now. svn path=/trunk/; revision=1260
* Added corba-like exception system to CamelFolder. The exception system isBertrand Guiheneuf1999-09-248-331/+348
| | | | | | | | | * Added corba-like exception system to CamelFolder. The exception system is not finished but I wanted the async and event implementation to get this right from the beginning. svn path=/trunk/; revision=1256
* syncBertrand Guiheneuf1999-09-234-1/+87
| | | | svn path=/trunk/; revision=1255
* Build fixBertrand Guiheneuf1999-09-232-7/+7
| | | | svn path=/trunk/; revision=1254
* more work.Bertrand Guiheneuf1999-09-222-6/+82
| | | | | | | * camel/camel-folder-pt-proxy.c: more work. svn path=/trunk/; revision=1248
* Check pthreads.bertrand1999-09-222-9/+26
| | | | | | | | | | | | | 1999-09-21 bertrand <Bertrand.Guiheneuf@aful.org> * configure.in: Check pthreads. * camel/Makefile.am: camel-folder-pt-proxy.c is only compiled when pthreads are available. svn path=/trunk/; revision=1247
* camel_folder_get_full_name did not work. Fixed.Jukka Zitting/evolution1999-09-211-0/+1
| | | | svn path=/trunk/; revision=1246
* Preliminary subfolder support for maildirs.Jukka Zitting/evolution1999-09-213-31/+87
| | | | svn path=/trunk/; revision=1245
* Signal proxying implemenatation. (_signal_marshaller_server_side):bertrand1999-09-212-57/+240
| | | | | | | | | | | | | | | | | 1999-09-21 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-pt-proxy.c: Signal proxying implemenatation. (_signal_marshaller_server_side): (_signal_marshaller_client_side): (_init_signals_proxy): Code not is tested and has to be best explained as it uses threads conditions and gtk signal system. (_thread_notification_catch): notify pending signals as well as thread availability. svn path=/trunk/; revision=1244
* completedbertrand1999-09-201-36/+129
| | | | | | | | | | | | | | | | | | | | 1999-09-20 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-pt-proxy.c (_op_exec_or_plan_for_exec): completed Binch of new funcs: (_maybe_run_next_op): Called by the watch notification when a threaded op is completed (_thread_notification_catch): notification watch call back (_init_notify_system): set up the notification channel (notify_availability): called by threads before completion. svn path=/trunk/; revision=1242
* synczZzZBertrand Guiheneuf1999-09-182-4/+8
| | | | svn path=/trunk/; revision=1238
* new func. Try to exec an operation in a thread or queue it if a thread isbertrand1999-09-183-15/+91
| | | | | | | | | | | | | | | | | | 1999-09-18 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-pt-proxy.c (_op_exec_or_plan_for_exec): new func. Try to exec an operation in a thread or queue it if a thread is already busy. * camel/camel-op-queue.c (camel_op_queue_set_service_availability): (camel_op_queue_get_service_availability): new funcs. * camel/camel-op-queue.c (camel_op_new): (camel_op_free): new funcs. Uses glib mem chunks. svn path=/trunk/; revision=1237
* added notify io_channel. new func. run the next operation.bertrand1999-09-184-2/+64
| | | | | | | | | | | 1999-09-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-pt-proxy.c (_init_with_store): added notify io_channel. * (camel_op_queue_run_next_op): new func. run the next operation. svn path=/trunk/; revision=1236
* New object. Operation queue. Meant to be used in non-blocking proxybertrand1999-09-174-0/+191
| | | | | | | | | | | 1999-09-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-op-queue.h: * camel/camel-op-queue.c: New object. Operation queue. Meant to be used in non-blocking proxy objects. svn path=/trunk/; revision=1231
* First proxy (pthread based) implementation starts.bertrand1999-09-143-0/+513
| | | | | | | | | | | | | | | | * First proxy (pthread based) implementation starts. 1999-09-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/Makefile.am (libcamel_la_SOURCES): added camel-folder-pt-proxy.[ch] to the build process. * camel/camel-folder-pt-proxy.c (_init_with_store): started implementation of the pthread-based folder proxy. svn path=/trunk/; revision=1223
* forgotten filesBertrand Guiheneuf1999-09-092-0/+323
| | | | svn path=/trunk/; revision=1220
* Summary files are here and work !!!bertrand1999-09-097-73/+98
| | | | | | | | | | | | | | | | | 1999-09-08 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/mh-summary.c (mh_load_summary): (mh_save_summary): (mh_create_summary): implemented summary (files) for MH folders. * camel/providers/MH/camel-mh-folder.c (_get_message_by_uid): implemented. (camel_mh_folder_class_init): (_get_message_uid): implemented svn path=/trunk/; revision=1219
* impemented.bertrand1999-09-086-19/+85
| | | | | | | | | | | | | | | | 1999-09-08 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_get_message_by_uid): impemented. * camel/camel-folder.c: (camel_folder_get_message_uid_by_number): const'ified uid. (camel_folder_get_message_by_uid): idem removed stupid camel_folder_get_message_uid_by_number method. svn path=/trunk/; revision=1215
* Documented UIDs.bertrand1999-09-081-0/+57
| | | | | | | | | | | | | 1999-09-08 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (camel_folder_has_uid_capability): (camel_folder_get_message_uid): (camel_folder_get_message_uid_by_number): (camel_folder_get_message_by_uid): (camel_folder_get_uid_list): Documented UID methods. svn path=/trunk/; revision=1193
* More work on UID list in Mh provider.bertrand1999-09-082-19/+47
| | | | | | | | | | | | | | | | | 1999-09-08 bertrand <Bertrand.Guiheneuf@aful.org> * tests/ui-tests/store_listing.c (close_all): close all open folders and stores. (necessary for UID list saving ). * camel/providers/MH/mh-uid.c (mh_generate_uid_list): fix: store UID list in CamelMHFolder object. * camel/providers/MH/camel-mh-folder.c (_open): read or create UID list. (_close): save UID list. svn path=/trunk/; revision=1192
* oopsBertrand Guiheneuf1999-09-072-0/+80
| | | | svn path=/trunk/; revision=1191
* correct parameter decl (const)bertrand1999-09-077-38/+173
| | | | | | | | | | | | | | | | | | | | | 1999-09-07 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.c (md5_get_digest_from_file): correct parameter decl (const) * camel/md5-utils.h: typo. * camel/providers/MH/mh-uid.c More work on UID stuff for MH. (mh_save_uid_list): (mh_load_uid_list): (mh_generate_uid_list): new funcs. Manage on-disk uid list. * camel/providers/MH/mh-utils.c (mh_is_a_message_file): Util routines live here now. svn path=/trunk/; revision=1190
* camel/md5-utils.c Documented all funcs.bertrand1999-09-073-10/+53
| | | | | | | | | | | | | | 1999-09-07 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.c Documented all funcs. (md5_get_digest_from_stream): correct typo. (md5_get_digest_from_file): same typo corrected. svn path=/trunk/; revision=1189
* raw routines are declared public now. Md5 use has to be versatile.bertrand1999-09-075-6/+109
| | | | | | | | | | | | | 1999-09-07 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.h : raw routines are declared public now. Md5 use has to be versatile. * camel/providers/MH/mh-uid.c (mh_uid_get_for_file): new func. Returns an UID for an MH message. svn path=/trunk/; revision=1187
* new function : get file md5 signature. To be used in providers code.bertrand1999-09-062-0/+33
| | | | | | | | | | | | 1999-09-06 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.h: * camel/md5-utils.c: (md5_get_digest_from_file): new function : get file md5 signature. To be used in providers code. svn path=/trunk/; revision=1186
* new methods.bertrand1999-09-062-46/+35
| | | | | | | | | | | 1999-09-06 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.h: * camel/md5-utils.c: (md5_get_digest_from_stream): new methods. svn path=/trunk/; revision=1185
* changed names to follow camel style.bertrand1999-09-062-287/+287
| | | | | | | | | | | | 1999-09-06 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.h: * camel/md5-utils.c: changed names to follow camel style. ` svn path=/trunk/; revision=1184
* imported md5 coding routine from rpm. Compiles.bertrand1999-09-063-0/+376
| | | | | | | | | 1999-09-06 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.c: imported md5 coding routine from rpm. Compiles. svn path=/trunk/; revision=1182
* Basic UID framework.bertrand1999-09-062-1/+91
| | | | | | | | | | | | | 1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (camel_folder_has_uid_capability): (camel_folder_get_message_uid): (camel_folder_get_message_uid_by_number): (camel_folder_get_message_by_uid): (camel_folder_get_uid_list): Basic UID framework. svn path=/trunk/; revision=1181
* New revision. Some fixes.bertrand1999-09-062-1/+10
| | | | | | | | | | | | | | 1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org> * devel-docs/misc/ref_and_id_proposition.txt: New revision. Some fixes. * camel/camel-folder.h (struct _CamelFolder): added uid_capability field. * started to work on UIDs svn path=/trunk/; revision=1180
* use folder summary instead of opening all messages.bertrand1999-09-064-171/+268
| | | | | | | | | | | | | | | | | | | 1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org> * tests/ui-tests/store_listing.c (show_folder_messages): use folder summary instead of opening all messages. * camel/providers/MH/camel-mh-folder.c (_create_summary): basic and highly non-efficient summary implementation. Should be seen as a proof of concept only. subfolder summary still has to be implemented. * camel/providers/maildir/camel-maildir-folder.c (_init_with_store): hasn't summary for the moment. * camel/providers/maildir/camel-maildir-folder.c cosmetic changes. svn path=/trunk/; revision=1178
* started summary implementation. (_open): correct use of open.bertrand1999-09-055-25/+84
| | | | | | | | | | | | | 1999-09-04 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_create_summary): started summary implementation. (_open): correct use of open. * camel/camel-folder.c (camel_folder_get_summary): get folder associated summary object. svn path=/trunk/; revision=1177
* added summary files buildbertrand1999-09-043-0/+236
| | | | | | | | | | | | 1999-09-04 bertrand <Bertrand.Guiheneuf@aful.org> * camel/Makefile.am: added summary files build * camel/camel-folder-summary.[ch]: basic summary framework svn path=/trunk/; revision=1176
* sgml doc has camel-recipient now.bertrand1999-09-041-10/+83
| | | | | | | | | | | | 1999-09-03 bertrand <Bertrand.Guiheneuf@aful.org> * devel-docs/camel/Makefile.am: sgml doc has camel-recipient now. * camel/camel-recipient.c (camel_recipient_foreach_recipient_type): added in-line documentation. svn path=/trunk/; revision=1174
* sync again. Changelog comes tomorowBertrand Guiheneuf1999-09-032-0/+14
| | | | svn path=/trunk/; revision=1170
* syncBertrand Guiheneuf1999-09-031-1/+2
| | | | svn path=/trunk/; revision=1169
* Added (experimental) maildir provider written by Jukka Zittingbertrand1999-09-039-2/+1039
| | | | | | | | | | | | | | | 1999-09-02 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/maildir: Added (experimental) maildir provider written by Jukka Zitting <hukka@greywolves.org> * camel/providers/Makefile.am (SUBDIRS): build maildir provider. * camel/camel-provider.c (camel_provider_get_for_protocol): bug fix. patch from Jukka Zitting <hukka@greywolves.org> svn path=/trunk/; revision=1168
* changed decl to fit CRLFunc. (_write_recipients_to_stream): callsbertrand1999-09-026-19/+44
| | | | | | | | | | | | | | | | | | | 1999-09-02 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-message.c (_write_one_recipient_to_stream): changed decl to fit CRLFunc. (_write_recipients_to_stream): calls camel_recipient_foreach_recipient_type now. * camel/camel-recipient.c (camel_recipient_foreach_recipient_type): new convinience function. Iterate over all recipient types. * camel/gmime-utils.c (gmime_write_header_table_to_stream): s/write_header_table_to_stream/gmime_write_header_table_to_stream/ (gmime_write_header_with_glist_to_stream): s/write_header_with_glist_to_stream/gmime_write_header_with_glist_to_stream/ svn path=/trunk/; revision=1167
* now use CamelRecipientTablebertrand1999-09-016-111/+127
| | | | | | | | | | | | | | | | | 1999-09-01 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-message.c (_finalize): (_add_recipient): (_remove_recipient): (_get_recipients): now use CamelRecipientTable * camel/gmime-content-field.c: (gmime_content_field_unref): test if object to free is non void. Still are some bugs in camel-recipient.c svn path=/trunk/; revision=1152
* When using g_free (obj) don't test if obj != NULL g_free () already dobertrand1999-09-018-47/+43
| | | | | | | | | | | | | | | | | | | | | | | | 1999-09-01 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (_finalize): (_set_name): * camel/camel-mime-message.c (_finalize): * camel/camel-mime-part.c (_finalize): (_set_description): (_set_disposition): * camel/camel-service.c (_finalize): * camel/camel-stream-fs.c (_finalize): * camel/gmime-content-field.c: (gmime_content_field_construct_from_string): * camel/url-util.c (g_url_free): When using g_free (obj) don't test if obj != NULL g_free () already do that. Thanks to elerium for the feedback. 19 svn path=/trunk/; revision=1151
* new func. More work on new independant recipient code.bertrand1999-08-303-9/+57
| | | | | | | | | | | | | | | 1999-08-30 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-recipient.c (camel_recipient_get): (camel_recipient_remove): (camel_recipient_add): new func. More work on new independant recipient code. 1999-08-29 bertrand <Bertrand.Guiheneuf@aful.org> * MAINTAINERS: updated my e-mail address. svn path=/trunk/; revision=1148
* Address updateBertrand Guiheneuf1999-08-3053-53/+53
| | | | svn path=/trunk/; revision=1147
* text parameter declared constbertrand1999-08-2912-18/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-28 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part.c (camel_mime_part_set_text): text parameter declared const * camel/camel-mime-part-utils.c (camel_mime_part_store_stream_in_buffer): actually test correctly nb_bytes_read_chunk is >0 * camel/gstring-util.c: * camel/gmime-content-field.c: * camel/providers/MH/camel-mh-folder.c: * camel/camel-stream-fs.c: include string.h * camel/camel-stream-mem.c (_write): return the numver of written bytes. * camel/camel-stream-buffered-fs.c (_eos): return sthg * camel/camel-stream.c (default_camel_seek): return something. * Started to work on new recipient code. * fixed various leaks. svn path=/trunk/; revision=1146
* contruct the content from the buffer before calling CamelMediumbertrand1999-08-266-16/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-26 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part.c (_get_content_object): contruct the content from the buffer before calling CamelMedium implementation. (_construct_from_stream): Do not construct the content by default, just store the content bytes in a temporary buffer. Content will be constructed only at caller request (when calling CamelMedium::get_content_object) Providers with better access to the messages (mbox/MH ...) will have to provider lighter implementation, that is shall not read content at all unless the caller asks for it (again with get_content). * camel/camel-mime-part-utils.c: new file, groups mime-part related utils. Meant to be used by providers subclassing MimeMessage. (camel_mime_part_construct_headers_from_stream): (camel_mime_part_construct_content_from_stream): no more useless temporary hash table. * camel/camel-mime-part.c (_construct_from_stream): calls mime-part-utils functions now. * camel/gmime-utils.c (_store_header_pair_from_string): do not use hash table to store header, use an array instead. svn path=/trunk/; revision=1145
* new file, groups mime-part related utils. Meant to be used by providersbertrand1999-08-267-94/+250
| | | | | | | | | | | | | | | | | | | | | | | | 1999-08-26 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part-utils.c: new file, groups mime-part related utils. Meant to be used by providers subclassing MimeMessage. (camel_mime_part_construct_headers_from_stream): (camel_mime_part_construct_content_from_stream): no more useless temporary hash table. * camel/camel-mime-part.c (_construct_from_stream): calls mime-part-utils functions now. * camel/gmime-utils.c (_store_header_pair_from_string): do not use hash table to store header, use an array instead. * MimePart cleanup. Not complete yet. Content must not be parsed when constructing but only when content object is requested. Default implementation will keep content in a stream. svn path=/trunk/; revision=1144
* now descend from CamelMedium.bertrand1999-08-264-155/+114
| | | | | | | | | | | 1999-08-25 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part.c: now descend from CamelMedium. * tests/test1.c (main): all headers must be strdup'ed (main): unref created objects svn path=/trunk/; revision=1143
* La tout n'est qu'ordre et beaute,Bertrand Guiheneuf1999-08-261-1/+1
| | | | | | Luxe, calme et voluptee. svn path=/trunk/; revision=1142
* these methods are in CamelMedium now.bertrand1999-08-253-5/+67
| | | | | | | | | | | | 1999-08-25 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-medium.c (_set_content_object): (_get_content_object): these methods are in CamelMedium now. Going to revamp MimePart soon so that it inherits from CamelMedium. svn path=/trunk/; revision=1141
* new class. Will handle all sort of information media (Mime mail messages,bertrand1999-08-2512-57/+740
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-24 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-medium.c (camel_medium_class_init): new class. Will handle all sort of information media (Mime mail messages, Lotus Notes mail messages, postit notes, faxes, who knows .... :) CamelMimePart will inherit from it. * camel/camel-mime-part.c (_set_disposition): (_set_description): description and disposition parameters are now const. * camel/gmime-content-field.c (gmime_content_field_free): added assertion code. * camel/providers/MH/camel-mh-folder.c (_get_message): uses buffered stream. * camel/camel-stream-buffered-fs.c: new stream to accelerate file ops. Thanks to jwz, I've decided to add a level of abstraction to Camel. In the future, it should be able to handle other mail systems, but also non-mail information vehicles. Enough for today. Roller time! svn path=/trunk/; revision=1140
* name parameter is const. This fixes a bug in destroy ()bertrand1999-08-214-7/+7
| | | | | | | | | 1999-08-20 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-stream-fs.c (camel_stream_fs_new_with_name): name parameter is const. This fixes a bug in destroy () svn path=/trunk/; revision=1135
* More work on RFC 2047 encoder.Robert Brady1999-08-201-16/+156
| | | | svn path=/trunk/; revision=1134
* return the number of bytes read. How can this have ever worked ?bertrand1999-08-187-20/+37
| | | | | | | | | | | | | | | | 1999-08-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-stream.c (camel_stream_read): return the number of bytes read. How can this have ever worked ? (camel_stream_flush): don't return anything. * camel/gmime-utils.c (get_header_table_from_stream): mem leak fixed. + various other mem leaks. svn path=/trunk/; revision=1120
* Now has a popup menu on mailbox tree to allow easier tests. Implementedbertrand1999-08-161-26/+240
| | | | | | | | | | | | | | 1999-08-16 bertrand <Bertrand.Guiheneuf@aful.org> * tests/ui-tests/store_listing.c: Now has a popup menu on mailbox tree to allow easier tests. Implemented the copy stuff. Works well for the MH provider :))) * camel/providers/MH/camel-mh-folder.c (_copy_message_to): Test MH provider fast copy implemented. svn path=/trunk/; revision=1119
* new method.bertrand1999-08-163-1/+37
| | | | | | | | 1999-08-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (_copy_message_to): new method. svn path=/trunk/; revision=1118
* moved the active list readjustment code here. Much saner, providers won'tbertrand1999-08-163-92/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (camel_folder_expunge): moved the active list readjustment code here. Much saner, providers won't have to worry about that. * camel/providers/MH/camel-mh-folder.c (_expunge): no more active list readjustment stuff. * camel/camel-folder.h: the expunge virtual no more returns a list of expunged messages. Now providers only have to set the expunge flag on the expunged messages. * camel/camel-folder.c (camel_folder_get_message): moved the caching code here. Finally, I don't want providers to crash the libs with a bad message cache implementation. (_close): do not call the CamelFolder virtual expunge method directly, use camel_folder_expunge() instead. (camel_folder_expunge): added the want_list param. The client can decide if it wants the expunged message list or not. If yes, it'll have to unref the messages itself. svn path=/trunk/; revision=1117
* Implemented deletion/expunge mechanism.bertrand1999-08-154-72/+187
| | | | | | | | | | | | | | | | | | | | | | | | 1999-08-14 bertrand <Bertrand.Guiheneuf@aful.org> * tests/ui-tests/store_listing.c (delete_selected_messages): (expunge_selected_folders): Implemented deletion/expunge mechanism. * camel/camel-folder.c (_get_message): Added some debug info. * camel/providers/MH/camel-mh-folder.c (_expunge): implemented and tested. * camel/camel-mime-message.c (_set_flag): changed the old braindead implementation. boolean are inserted in the flag hash table casted as gpointers. * camel/camel-mime-message.c: indentation fix svn path=/trunk/; revision=1114