aboutsummaryrefslogtreecommitdiffstats
path: root/camel
Commit message (Collapse)AuthorAgeFilesLines
* 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
* default implementation to be called first by providers methods. It looksbertrand1999-08-143-4/+29
| | | | | | | | | | | | | | | | 1999-08-13 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (_get_message): default implementation to be called first by providers methods. It looks in the folder message list (in memory) to see if the message has not already been retrieved, and in this case, returns the same CamelMimeMessage object Caching messages in folder kworks. Providers will have to do their job correctly. Enough for today. svn path=/trunk/; revision=1113
* New field (message_list) which will hold a reference on each messagebertrand1999-08-144-19/+83
| | | | | | | | | | | | | | | | | | | | 1999-08-13 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.h (struct _CamelFolder): New field (message_list) which will hold a reference on each message obtained by the folder, which is necessary in order for the caching procedure to work (Getting the same message from a folder twice will return the same CamelMimeMessage object). * camel/camel-folder.c (camel_folder_get_message): When the store retreives a message put it in its message list. (_finalize): free message list. * ChangeLog: fix typo (parmanent) svn path=/trunk/; revision=1112
* new method, returns the list of permanent flags supported by the folder.bertrand1999-08-134-9/+57
| | | | | | | | | | | | | | | 1999-08-13 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (_get_parmanent_flag_list): (camel_folder_get_parmanent_flag_list): new method, returns the list of permanent flags supported by the folder. * camel/camel-mime-message.c (_get_flag_list): (camel_mime_message_get_flag_list): new method, return the list of flag name used by this message. svn path=/trunk/; revision=1111
* those two func go here now.bertrand1999-08-138-64/+144
| | | | | | | | | | | | | | | | | | | | | 1999-08-13 bertrand <Bertrand.Guiheneuf@aful.org> * camel/hash-table-utils.c (g_strcase_equal): (g_strcase_hash): those two func go here now. * camel/hash_table_utils.c (hash_table_generic_free): free a (gpointer, gpointer) hash table pair. * camel/camel-mime-message.c (camel_mime_message_init): use case insensitive hash table functions. (_set_flag): (camel_mime_message_set_flag): (_get_flag): (camel_mime_message_get_flag): Use const for flag name, they are now duplicated. svn path=/trunk/; revision=1110
* remove stupid debug code. (add_mail_store): use camel_session_get_storebertrand1999-08-135-27/+33
| | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-12 bertrand <Bertrand.Guiheneuf@aful.org> * tests/ui-tests/store_listing.c (show_folder_messages): remove stupid debug code. (add_mail_store): use camel_session_get_store instead of creating MH store directly. (main): load MH provider. * camel/camel-provider.c (camel_provider_register_as_module): register new provider. (camel_provider_get_for_protocol): Now, implementation is correct. * camel/camel-store.c (_finalize): * camel/camel-store.h (struct _CamelStore): further disabled url_name field use. URL will be generated dynamically. Ben dam don dieu, vla t'y pas que ya tout le bourier qui marche ! (Autoload store/protocol from URL works) svn path=/trunk/; revision=1108
* compilation and runtime fixes.bertrand1999-08-124-9/+11
| | | | | | | | | | | | | | | | | | 1999-08-12 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-session.c (camel_session_get_store_for_protocol): compilation and runtime fixes. * camel/providers/MH/camel-mh-store.c (_init): synced with CamelStore. * camel/camel-store.c (_init): in CamelStore::init, url_name is now const. disabled url_name copy. Last check in did not even compile... svn path=/trunk/; revision=1107
* new function: returns a store for an URL.bertrand1999-08-126-3/+186
| | | | | | | | | | | | | | | | | | | | | | 1999-08-12 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-session.c (camel_session_get_store): new function: returns a store for an URL. (camel_session_get_store_for_protocol): new functionc: returns a store for a given store protocol (as IMAP/POP/MH ...) * camel/string-utils.c (g_strcase_equal): (g_strcase_hash): case insensitive hash table funcs. * camel/camel-session.c (camel_session_init): hash table keys are case insensitive. * camel/camel-provider.c (camel_provider_get_for_protocol): new function, returns the last registered provider for a protocol. svn path=/trunk/; revision=1106
* new file. MH provider registration stuff.bertrand1999-08-126-10/+183
| | | | | | | | | | | | | | | | | | | 1999-08-12 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-provider.c: new file. MH provider registration stuff. * camel/camel-provider.c (camel_provider_register_as_module): load a provider from a shared object (plugin). (camel_provider_register): register a provider "by hand". Used for statically defined providers. * tests/test7.c: new test. tests providers loading framework. Providers modules loading Works !!! :)))) svn path=/trunk/; revision=1105
* Message creation still consumes a lot ofbertrand1999-08-117-2/+121
| | | | | | | | | | | | | | | | | memory (maybe 2000k) and I really don't understand why. As soon as I get gtk working on SunOS, purify should hopefully give me the answer. 1999-08-11 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-service.c (_finalize): * camel/camel-stream-fs.c (_finalize): (_destroy): close file descriptor. * camel/camel-stream-mem.c (_finalize): * camel/camel-store.c (_finalize): * camel/camel-folder.c (_finalize): svn path=/trunk/; revision=1104
* implemented destructors.bertrand1999-08-117-37/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-11 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-multipart.c (_finalize): * camel/camel-simple-data-wrapper.c (_finalize): * camel/camel-mime-part.c (_finalize): implemented destructors. * camel/gmime-content-field.c (gmime_content_field_ref): (gmime_content_field_unref): New reference mechanism for GMimeContentField objects. * camel/camel-data-wrapper.c (_finalize): Started implementing destructors. * camel/camel-mime-part.c (_construct_from_stream): * camel/gmime-content-field.c (gmime_content_field_write_to_stream): * camel/camel-multipart.c (_construct_from_stream): removed forgotten anarchic traces. Go away memory leaks! svn path=/trunk/; revision=1103
* some test filesBertrand Guiheneuf1999-08-103-2/+84
| | | | svn path=/trunk/; revision=1101
* syncBertrand Guiheneuf1999-08-102-55/+63
| | | | svn path=/trunk/; revision=1099
* more advanced RFC2047 encoder started.Robert Brady1999-08-091-31/+106
| | | | | | | | 1999-08-08 Robert Brady <rwb197@ecs.soton.ac.uk> * camel/gmime-rfc2047.c: more advanced RFC2047 encoder started. svn path=/trunk/; revision=1098
* fix. In MH, message number is not related to message position in folder.bertrand1999-08-092-51/+71
| | | | | | | | | | 1999-08-08 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_get_message): fix. In MH, message number is not related to message position in folder. svn path=/trunk/; revision=1097
* util func. (_get_message_count): implemented.bertrand1999-08-091-1/+66
| | | | | | | | | | 1999-08-08 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_is_a_message_file): util func. (_get_message_count): implemented. svn path=/trunk/; revision=1096
* updated some autogen doc stuff. Still don't understand warnings :(bertrand1999-08-078-61/+87
| | | | | | | | | | | | | | | | | | | | | 1999-08-06 bertrand <Bertrand.Guiheneuf@aful.org> * devel-docs/camel/: updated some autogen doc stuff. Still don't understand warnings :( * camel/camel-data-wrapper.c: * camel/providers/MH/camel-mh-store.c: * camel/url-util.c: * camel/gmime-content-field.c: * camel/camel-store.c: various inline doc corrections. * camel/camel-folder.c (get_message_count): new method. Returns the number of message in the folder. svn path=/trunk/; revision=1092
* encoder test.Robert Brady1999-08-061-1/+23
| | | | | | | | | | | 1999-08-06 Robert Brady <rwb197@ecs.soton.ac.uk> * tests/test6.c: encoder test. * camel/gmime-rfc2047.c: Fixed decoder bug : sequence ?= is not always the terminator for an encoded-string. svn path=/trunk/; revision=1091
* stat was not testing the good file. Fixed.bertrand1999-08-061-1/+4
| | | | | | | | | 1999-08-06 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_list_subfolders): stat was not testing the good file. Fixed. svn path=/trunk/; revision=1090
* test for RFC2047 decoder.Robert Brady1999-08-061-82/+97
| | | | | | | | | | 1998-08-06 Robert Brady <rwb197@ecs.soton.ac.uk> * tests/test5.c: test for RFC2047 decoder. * camel/gmime-rfc2047.c: Improved RFC2047 decoder. svn path=/trunk/; revision=1088
* add debug information (_list_subfolders): test if first char in folderbertrand1999-08-068-150/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-06 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_exists): add debug information (_list_subfolders): test if first char in folder name is not '.' before adding it to the folder list. * camel/camel-store.c (_init): disable session check temporarily (_get_separator): (_get_folder): new static func. Fixed several oddities in class definition. * camel/providers/MH/camel-mh-store.c (camel_mh_store_get_type): parent type is CAMEL_STORE_TYPE not CAMEL_FOLDER_TYPE * camel/camel-store.c: prent class is CamelServiceClass not GtkObjectClass * camel/url-util.c : cosmetic changes + use of const when possible. (find_host): fix a bug: when there is no host and no port don't skip the '/' all static find_* func are now named _func_* (g_url_free): destructor func. cache field has been disabled. Constructing the url string won't be too slow and will occur rarely enough that we do not need to add complexity to this code. * camel/providers/MH/camel-mh-store.c: parent class is CamelStorClass not GtkObjectClass svn path=/trunk/; revision=1087
* test mh provider.bertrand1999-08-064-7/+57
| | | | | | | | | | | | 1999-08-05 bertrand <Bertrand.Guiheneuf@aful.org> * tests/test4.c: test mh provider. * camel/providers/MH/camel-mh-folder.c (_get_message): implemented svn path=/trunk/; revision=1083
* new method. (camel_folder_get_message): corresponding public callbertrand1999-08-064-4/+39
| | | | | | | | | | | 1999-08-05 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (_get_message): new method. (camel_folder_get_message): corresponding public call svn path=/trunk/; revision=1082
* Some notes.bertrand1999-08-066-31/+121
| | | | | | | | | | | | | | | | | | 1999-08-05 bertrand <Bertrand.Guiheneuf@aful.org> * camel/README.HACKING: Some notes. * camel/CODING.STYLE: short note about coding style. * camel/README.COPYRIGHT: Note about copyright policy. * camel/providers/MH/camel-mh-folder.c (_list_subfolders): minor typo fixes. svn path=/trunk/; revision=1081
* indentation and cosmetic changes.bertrand1999-08-052-160/+169
| | | | | | | | | | 1999-08-04 bertrand <Bertrand.Guiheneuf@aful.org> * camel/gmime-rfc2047.c: * camel/gmime-rfc2047.h: indentation and cosmetic changes. svn path=/trunk/; revision=1079
* Fixed copyright issue. ;)Robert Brady1999-08-052-12/+6
| | | | svn path=/trunk/; revision=1078
* implemented.bertrand1999-08-052-3/+54
| | | | | | | | | 1999-08-04 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_list_subfolders): implemented. svn path=/trunk/; revision=1077
* finshed implementation (_delete_messages): implemented.bertrand1999-08-052-11/+92
| | | | | | | | | | 1999-08-04 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_delete): finshed implementation (_delete_messages): implemented. svn path=/trunk/; revision=1076
* added an implemention of RFC2047 (support for character sets other thanRobert Brady1999-08-052-0/+264
| | | | | | | | | | 1999-08-04 Robert Brady <rwb197@ecs.soton.ac.uk> * camel/gmime-rfc2047.[ch]: added an implemention of RFC2047 (support for character sets other than US-ASCII in MIME headers). Not actually called from anywhere yet. svn path=/trunk/; revision=1075
* my file I never commitedArturo Espinosa1999-08-041-0/+98
| | | | svn path=/trunk/; revision=1074
* Started implementing mh store/folder as a test provider. Next will be pop3.bertrand1999-08-043-32/+129
| | | | | | | | | | | | | | | | | | | | | | 1999-08-03 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-folder.c (_create): implemented. (_delete): started implementation. * camel/camel-folder.c (_get_folder): default implementation calls camel_store_get_folder (). * camel/providers/MH/camel-mh-folder.c (_init_with_store): implemented. * camel/camel-folder.h (struct _CamelFolder): remove useless exist_on_store field. * camel/camel-folder.c (_exists): do not use exist_on_store field. svn path=/trunk/; revision=1073
* new public functions (_set_name): set full_path.Bertrand Guiheneuf1999-08-037-47/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | * camel/camel-folder.c (camel_folder_set_name): (camel_folder_get_name): new public functions (_set_name): set full_path. (_set_full_name): (camel_folder_set_full_name): commented out this functions def. It would make things very difficult to handle, and would not be very useful. * camel/providers/MH/camel-mh-store.h: * camel/providers/MH/camel-mh-store.c (camel_mh_store_set_toplevel_dir): (camel_mh_store_get_toplevel_dir): * camel/providers/MH/camel-mh-folder.c (_set_name): * camel/providers/MH/camel-mh-folder.h: use (gchar *) instead of (GString *) everywhere. use const when necessary. * camel/camel-folder.h (struct _CamelFolder): removed unused message_list field. svn path=/trunk/; revision=1072
* There is a probleme here. We can not allow mime part content-type fieldBertrand Guiheneuf1999-08-034-19/+21
| | | | | | | | | | | | | | | | | | * camel/camel-mime-part.c (_set_content_object): There is a probleme here. We can not allow mime part content-type field and content_object mime-type to be different. I thus chosed to set mime part object content field to be freed (if necessary) and set to be a pointer to content_object mime type field. (_construct_from_stream): set content_object mime type to be the same as mime_part's one. This is necessary because we use _set_content_type. This two things are a bit hackish ansd may need to be redesigned. svn path=/trunk/; revision=1071
* Multipart Mime message parsing works with plain text parts. Woohooo :))))bertrand1999-08-037-33/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Making it work with other types is now just a matter of writing the various data wrappers. And display them will just be a matter of writing the good bonobo components. 1999-08-03 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-simple-data-wrapper.c (_construct_from_stream): more debugging output + nb_bytes_read is now a signed int to avoid bug when eos is encountered. * camel/camel-mime-part.c (_construct_from_stream): sync to data_wrapper_repository function name changes. Use default "text/plain" type when conten-type field is not found. (following RFC 2046 spec). * camel/data-wrapper-repository.c (data_wrapper_repository_set_data_wrapper_type): (data_wrapper_repository_get_data_wrapper_type): change function name prefix (s/data_wrapper/data_wrapper_repository/) * camel/camel-multipart.c (_read_part): add `\n` at eol but not before boundary. * camel/gmime-utils.c (get_header_table_from_stream): correct implementation of end of stream detection. svn path=/trunk/; revision=1070
* Update logs and sync home/work versions.Bertrand Guiheneuf1999-08-032-25/+1
| | | | | | | | | | | | | | | | | | | | | | | * camel/camel-multipart.c (_read_part): use a stream to store the part instead of GString. * camel/camel-mime-part.c (camel_mime_part_set_text): set data wrapper content type to "text/plain". * camel/camel-stream-mem.c: * camel/camel-stream-mem.h: new memory buffer based stream. * camel/camel-stream-fs.c (_seek): implementation for file system based stream. * camel/camel-stream.c (camel_stream_seek): new method. * camel/camel-stream-fs.c (camel_stream_fs_class_init): pass CamelStreamFsClass instead of CamelStreamClass. svn path=/trunk/; revision=1069
* Anther syncBertrand Guiheneuf1999-08-031-1/+2
| | | | svn path=/trunk/; revision=1068
* sync before going homeBertrand Guiheneuf1999-08-025-43/+70
| | | | svn path=/trunk/; revision=1064
* new memory buffer based stream.Bertrand Guiheneuf1999-08-026-2/+378
| | | | | | | | | | | | | | | | | * camel/camel-stream-mem.c: * camel/camel-stream-mem.h: new memory buffer based stream. * camel/camel-stream-fs.c (_seek): implementation for file system based stream. * camel/camel-stream.c (camel_stream_seek): new method. * camel/camel-stream-fs.c (camel_stream_fs_class_init): pass CamelStreamFsClass instead of CamelStreamClass. svn path=/trunk/; revision=1056
* do not return NULL when line is empty.Bertrand Guiheneuf1999-08-022-8/+7
| | | | | | | | | | * camel/gmime-utils.c (gmime_read_line_from_stream): do not return NULL when line is empty. * camel/camel-multipart.c (_read_part): return true when end of multipart is found, not the contrary svn path=/trunk/; revision=1055
* Adding missing filesBertrand Guiheneuf1999-08-0110-0/+1345
| | | | svn path=/trunk/; revision=1053
* merge a lot of work. Rough ChangeLog will followBertrand Guiheneuf1999-08-0127-691/+1008
| | | | svn path=/trunk/; revision=1052
* sync before going homeBertrand Guiheneuf1999-07-155-41/+78
| | | | svn path=/trunk/; revision=1026
* Do not use GStrings any more. Added assertion code. Cosmetic reformatingbertrand1999-07-152-116/+111
| | | | | | | | | | | | | | | | 1999-07-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/url-util.c: * camel/url-util.h: Do not use GStrings any more. Added assertion code. Cosmetic reformating * AUTHORS: * ChangeLog: Changed my email address. svn path=/trunk/; revision=1025
* Implemented base64 encoder based on CamelStreams. Should theMiguel de Icaza1999-07-1520-218/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-07-13 Miguel de Icaza <miguel@gnu.org> * camel/gmime-base64.c (gmime_encode_base64): Implemented base64 encoder based on CamelStreams. Should the encoder/decoder be a Stream itself? * camel/gmime-utils.c: include config.h here. * camel/url-util.c: ditto. * camel/gstring-util.c: ditto. * camel/gmime-content-field.c: ditto. * camel/camel-stream.c: ditto. * camel/camel-stream-fs.c: ditto. * camel/camel-store.c: ditto. * camel/camel-simple-data-wrapper.c: ditto. * camel/camel-session.c: ditto. * camel/camel-service.c: ditto. * camel/camel-mime-part.c: ditto. * camel/camel-mime-message.c: ditto. * camel/camel-log.c: ditto. * camel/camel-data-wrapper.c: ditto * camel/camel-folder.c: ditto. * camel/camel-stream.c (camel_stream_write): Moved api documentation to the places that they document. (camel_stream_class_init): Virtual classes do not need to have a default implementation. So null them all. (camel_stream_write): Return value from write. (camel_stream_available): implement. (camel_stream_write_strings): documented. * devel-docs/query/virtual-folder-in-depth.sgml: Small reformatting 1999-06-28 bertrand <Bertrand.Guiheneuf@inria.fr> * tests/test2.c (main): now use CamelDataWrapper::contruct_form_stream to test svn path=/trunk/; revision=1024
* now use CamelDataWrapper::contruct_form_stream to test message parsingbertrand1999-06-293-6/+43
| | | | | | | | | | | | | | | | | 1999-06-28 bertrand <Bertrand.Guiheneuf@inria.fr> * tests/test2.c (main): now use CamelDataWrapper::contruct_form_stream to test message parsing * camel/camel-data-wrapper.c: * camel/camel-data-wrapper.h: construct_from_stream no longer has maximimum size arg. * camel/camel-mime-part.c (_construct_from_stream): new. Construct the mime_part from a stream. svn path=/trunk/; revision=1003