aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-data-wrapper.h
Commit message (Collapse)AuthorAgeFilesLines
* Whole swag of changes. Still lots of cleanup remaining ...NotZed2000-04-231-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-23 NotZed <NotZed@HelixCode.com> * camel-data-wrapper.c (set_mime_type_field): Ref the content_field when we get it? * camel-mime-parser.c (camel_mime_parser_unstep): New function. Cause a subsequent call to mime_parser_step() to return the same state over again. * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): Initial test code using the mime parser to construct the message. * camel-mime-part.c (construct_from_parser): part constructor. (camel_mime_part_construct_content): Basically a simpler replacement for the datawrapper repository. (camel_mime_part_init): Set the default type to text/plain. * camel-simple-data-wrapper.c (construct_from_parser): Initial implementation of a content constructor. * camel-multipart.c (construct_from_parser): Multipart construction routine. (camel_multipart_init): Set the default multipart type to multipart/mixed. Duh, no subtype is not allowed anyway. 2000-04-22 NotZed <NotZed@HelixCode.com> * camel-mime-message.h (struct _CamelMimeMessage): Removed send_date, and received_date, and replaced it with a time_t 'date' (this is what the header is called), and date_offset to store the GMT offset of the date. * camel-mime-message.c (camel_mime_message_set_from): Update raw header as we go. (_set_from): Removed. (_get_from): Removed. (camel_mime_message_get_from): Moved implementation here. (camel_mime_message_get_subject): Move implementation here. (_get_subject): Nuked. (camel_mime_message_set_subject): Handle utf-8 input, and also update raw header when changed. (_set_subject): Removed. (_set_received_date): Removed. (camel_mime_message_set_received_date): Removed. (_get_received_date): Removed. (camel_mime_message_get_received_date): Removed. (_get_sent_date): Removed. (camel_mime_message_get_sent_date): Removed. (camel_mime_message_get_date): New function to get the date as a time_t/offset. (camel_mime_message_set_date): Set the date as a time_t/offset. (camel_mime_message_get_date_string): Get the date as a string. (camel_mime_message_init): Initialise the current date as 'CMAEL_MESSAGE_DATE_CURRENT'. (_set_reply_to): Removed. (camel_mime_message_set_reply_to): Moved implementation here. This is still broken, reply-to can have multiple addresses. (_get_reply_to): Removed. (_set_field): Removed, no longer used anywhere. (_get_field): Also removed. (_init_header_name_table): Add the Date header. (process_header): Also handle snooping of Date header here. * camel-stream-filter.c (finalise): Unref the source stream on finalise, and also call the parent class (oops). * camel-mime-parser.c (camel_mime_parser_state): New function to get the current parser state. (camel_mime_parser_stream): Allow you to get the stream back from the mime_parser. (camel_mime_parser_fd): Alternative to allow you to get the fd back from the mime_parser. (folder_scan_init_with_stream): Properly ref/unref the stream. (folder_scan_close): Properly unref the stream/close the fd on exit. (folder_scan_init_with_fd): Close the old fd if there is one. * camel-data-wrapper.c (camel_data_wrapper_construct_from_parser): New method, construct a data wrapper from an initialised parser. (construct_from_parser): Empty implementation. * providers/mbox/camel-mbox-summary.c (message_struct_new): Convert subject line to unicode, before storing in the summary. (strdup_trim): Removed, no longer needed. * providers/mbox/camel-mbox-folder.c (_get_message_by_uid): Ref the folder after setting it in the new message. * camel-mime-part.c (my_set_content_object): Have the headers follow the content-type change here too. (my_write_to_stream): Dont write content-type here, automatically stored in the headers ... (my_write_to_stream): Use header_disposition_format() to format the content-disposition header. (my_write_to_stream): Removed old code, all headers are now stored in the camel-medium level, always. Need to do the same with camel-mime-message i suppose ... (my_write_to_stream): Write the content using the parent class, not some weird function. (camel_mime_part_class_init): Dont override get_output_stream. (camel_mime_part_encoding_from_string): Bleh, make it case-insensitive. * camel-mime-utils.c (header_content_type_is): Handle empty types. (header_encode_string): Start of an implementation of the rfc2047 encoder. It does iso-8859-1, and us-ascii, and utf-8 (others get tricky *sigh*) (rfc2047_encode_word): Convert a single word/string into rfc2047 encoding. (quoted_encode): Different quoted-printable encoding for rfc2047 encoding of headers. * gmime-content-field.c (gmime_content_field_write_to_stream): Use header_content_type_format() to format it. svn path=/trunk/; revision=2560
* Clean, polish, document. Most of the gtk-doc comments added toDan Winship2000-04-191-20/+18
| | | | | | | | | | * camel-data-wrapper.[ch]: * camel-simple-data-wrapper.[ch]: * camel-medium.[ch]: Clean, polish, document. Most of the gtk-doc comments added to camel-data-wrapper.c note serious problems that need to be fixed. svn path=/trunk/; revision=2483
* fix the name of "Helix Code, Inc." in all the copyrightsDan Winship2000-03-101-1/+1
| | | | svn path=/trunk/; revision=2091
* New header with the typedefs for all camel classes. Now the class headersDan Winship2000-02-191-5/+3
| | | | | | | | | | | | | | | * 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
* include gmime-base64.h various compilation and runtime fixes.bertrand2000-02-151-13/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* set the mime type to "mime/message". --- THIS IS NOT THE CONTENT TYPE ---bertrand2000-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 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-101-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* The CamelDataWrapper can now be provided with input and output streams, sobertrand2000-01-251-7/+19
| | | | | | | | | | | | | | | | | | 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
* Updated my e-mail address to reflect my new employmentBertrand Guiheneuf2000-01-041-1/+1
| | | | svn path=/trunk/; revision=1533
* Fix copyright informations once againBertrand Guiheneuf1999-12-151-1/+1
| | | | svn path=/trunk/; revision=1489
* More work:Ettore Perazzoli1999-11-171-1/+1
| | | | | | | - 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-171-0/+2
| | | | | | | 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-061-1/+1
| | | | | | installation fixes for Camel. svn path=/trunk/; revision=1369
* Copyright changeBertrand Guiheneuf1999-10-231-1/+4
| | | | svn path=/trunk/; revision=1348
* Address updateBertrand Guiheneuf1999-08-301-1/+1
| | | | svn path=/trunk/; revision=1147
* merge a lot of work. Rough ChangeLog will followBertrand Guiheneuf1999-08-011-2/+5
| | | | svn path=/trunk/; revision=1052
* sync before going homeBertrand Guiheneuf1999-07-151-4/+4
| | | | svn path=/trunk/; revision=1026
* now use CamelDataWrapper::contruct_form_stream to test message parsingbertrand1999-06-291-2/+2
| | | | | | | | | | | | | | | | | 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
* new field (content_type) and associated methods. (camel_mime_part_init):bertrand1999-06-281-6/+5
| | | | | | | | | | | | | | | | | | | 1999-06-28 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-mime-part.c: new field (content_type) and associated methods. (camel_mime_part_init): initialize content_type field. (_parse_header_pair): now set content_type MimePart field instead of using DataWrapper Mime typing facility. 1999-06-28 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-data-wrapper.h: s/content_type/mime_type/ 1 svn path=/trunk/; revision=1002
* moved all the content-type stuff here. (camel_data_wrapper_init):bertrand1999-06-231-0/+4
| | | | | | | | | | | | | | | | 1999-06-22 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-data-wrapper.c (_get_content_type): moved all the content-type stuff here. (camel_data_wrapper_init): initialize the instance content-type field. * camel/camel-mime-part.c (_parse_header_pair): parse Content-Type stuff in header. (_write_to_stream): write the content type stuff to the stream. svn path=/trunk/; revision=985
* Commit of all Netherlands changes.Bertrand Guiheneuf1999-06-191-0/+1
| | | | | | | | All mime stuff uses streams now, and it still works. Bertrand svn path=/trunk/; revision=981
* another nederlands syncBertrand Guiheneuf1999-06-151-5/+4
| | | | svn path=/trunk/; revision=979
* tmp sync. Does ot even compileBertrand Guiheneuf1999-06-141-7/+5
| | | | svn path=/trunk/; revision=978
* disposition is now a full GMimeContentField object.Bertrand Guiheneuf1999-05-131-2/+2
| | | | | | | | | | | | | | | | | | | * camel/camel-mime-part.h (struct ): disposition is now a full GMimeContentField object. * camel/gmime-content-field.c: new file handle "type/subtype ;parameter=value ; parameter=value ..." BNF grammar elements (gmime_content_field_write_to_file): new func * camel/gmime-utils.c (gmime_write_header_pair_to_file): namespace change Some work on mime stuff. Mime part can save itself into a file. This stuff is boring. svn path=/trunk/; revision=921
* overload wrapper class method. (_write_to_file): start to write some textbertrand1999-05-121-0/+2
| | | | | | | | | | | 1999-05-11 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-mime-part.c (_write_to_file): overload wrapper class method. (_write_to_file): start to write some text in file. svn path=/trunk/; revision=904
* method to stream data content in a buffer.bertrand1999-05-091-3/+12
| | | | | | | | | | | | | | | | | | | 1999-05-08 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-data-wrapper.c (camel_data_wrapper_write_to_buffer): method to stream data content in a buffer. (camel_data_wrapper_write_to_file): (camel_data_wrapper_construct_from_buffer): (camel_data_wrapper_construct_from_file): new methods. Basic data_wrapper interface. Will have to add MIME content type and bonobo object creation from content type. Bertrand. svn path=/trunk/; revision=893
* sync - Started work on messages classes.Bertrand Guiheneuf1999-05-081-0/+72
Bertrand. svn path=/trunk/; revision=892