Files
evolution/camel
Not Zed 2b97bd935b Keep track of the caller bestenc flags that make sense.
2000-11-08  Not Zed  <NotZed@HelixCode.com>

	* camel-mime-message.c (find_best_encoding): Keep track of the
	caller bestenc flags that make sense.

	* camel-mime-filter-bestenc.c (filter): Added code to detect when
	we have "^From " lines in the sequence of text.
	(camel_mime_filter_bestenc_get_best_encoding): Added a new flag
	CAMEL_BESTENC_NO_FROM: if set, it will not allow any lines
	matching "^From " to appear in the output - currently forcing
	base64 encoding to achieve this.

	* camel-mime-parser.c (folder_scan_step): Call
	camel_mime-filter_complete() once we're done, rather than
	filter_filter().
	(folder_scan_content): Some fixes for state changing; so that when
	we do find another boundary it is properly flagged.  Since we
	strip the last \n off all data, we must take that into account
	too.  Sigh.  Fixes a rather nasty set of bugs where multipart
	messages could start including following messages as parts, etc.
	(struct _header_scan_stack): Added new parameter,
	boundarylenfinal, which holds the length of the final boundary, if
	it is different (e.g. for From lines, whihc aren't)
	(folder_scan_step): Setup teh boundarylenfinal value when creating
	a new boundary.
	(folder_scan_content): Hmm, if we hit the end-of-buffer sentinal,
	reset the scanner back to leave 'atleast' chars in the buffer
	still, dump that content, and retry again.  Stops us losing a
	check for a boundary on some data we haven't really looked at yet!
	(folder_scan_content): Use boundarylenfinal to calculate
	'atleast'.
	(folder_scan_header): And here too.
	(folder_boundary_check): Use the atleast value directly, dont
	truncate it.  Use the boundarylen/boundarylenfinal values directly
	too.
	(struct _header_scan_stack): Add an atleast parameter to cache the
	atleast info.
	(folder_push_part): Determine/set 'atleast', every time we add a
	new part.
	(folder_scan_header): Get the cached atleast info from the current
	part.
	(folder_scan_content): And here too.
	(folder_scan_header): Fix a problem where a part starting with
	" text" would be interpreted as a followon header wrongly.

	* camel-mime-filter-charset.c (complete): Add some assertions to
	find a bug.

svn path=/trunk/; revision=6500
2000-11-08 09:13:52 +00:00
..
2000-06-07 23:57:18 +00:00
2000-08-10 17:30:50 +00:00
2000-08-10 17:30:50 +00:00
2000-08-11 02:57:11 +00:00
2000-08-10 17:30:50 +00:00
2000-08-11 02:57:11 +00:00
2000-10-24 05:23:27 +00:00
2000-08-10 17:30:50 +00:00
2000-08-10 17:30:50 +00:00
2000-10-24 05:23:27 +00:00
2000-10-24 05:23:27 +00:00
2000-10-24 22:20:44 +00:00
2000-08-10 17:30:50 +00:00
2000-08-10 17:30:50 +00:00
2000-08-10 17:30:50 +00:00
2000-08-10 17:30:50 +00:00
2000-08-10 17:30:50 +00:00
2000-08-11 02:57:11 +00:00
2000-08-10 17:30:50 +00:00
2000-08-10 17:30:50 +00:00
2000-05-29 11:09:32 +00:00
2000-02-16 15:42:48 +00:00

                                   CAMEL
     

			A generic Messaging Library


                                   ----
				

Introduction:
-------------

Camel will be a generic messaging library. It will evntually support 
the standard messaging system for receiving and sending messages.
It aims at being the backend for the future gnome-mailer system.

The name "camel" stands for ... nothing. Open area of development there.
You know, that "bazaar" thing. Maybe could we organize a big contest on
gnome-list to find the best explanation :)

Camel draws heavily from JavaMail and the IMAP4rev1 RFC. People
wanting to hack on a provider should read the JavaMail API
specification, but CMC and MAPI are of interest too.

Please, before starting anything, wait for me to finish the abstract
classes. Some parts are not definitive yet.

 
Organization:
-------------

The library is roughly a set of abstract classes, some kind of generic
"interfaces" (idl interfaces, not java interfaces ).

Particular implementations are called providers.

Here are the basic objects:

* CamelService : an abstract class representing an access to a server.
Handles the connection and authentication to any server.

* CamelStore (CamelService): A hierarchy of folders on a server.

* CamelFolder : An object containing messages. A folder is always
associated with a store.

* CamelMessage : An object contained in folders. Is defined by a set
of attributes and a content. (Attributes include: the date it was
received, the sender address, .....)

* CamelTransport (CamelService): A way to send messages.

....
...