<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gsoc2013-evolution/camel/providers/local/camel-maildir-folder.c, branch GNOME_2</title>
<subtitle>Google Summer of Code 2013 - GNOME - Archive Integration workspace
</subtitle>
<id>https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/atom?h=GNOME_2</id>
<link rel='self' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/atom?h=GNOME_2'/>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/'/>
<updated>2001-10-24T22:17:05+00:00</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag 'GNOME_2'.</title>
<updated>2001-10-24T22:17:05+00:00</updated>
<author>
<name>nobody</name>
<email>nobody@localhost</email>
</author>
<published>2001-10-24T22:17:05+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=d926a5044cc190b0e6f3b53d7be13096a79990c8'/>
<id>urn:sha1:d926a5044cc190b0e6f3b53d7be13096a79990c8</id>
<content type='text'>
svn path=/tags/GNOME_2/; revision=14021
</content>
</entry>
<entry>
<title>Use '.' as the inbox name for filter new messages test.</title>
<updated>2001-10-17T22:59:15+00:00</updated>
<author>
<name>7</name>
<email>NotZed@Ximian.com</email>
</author>
<published>2001-10-17T22:59:15+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=66fe416457e3e71943044a1749d319d4f0c5e45f'/>
<id>urn:sha1:66fe416457e3e71943044a1749d319d4f0c5e45f</id>
<content type='text'>
2001-10-17    &lt;NotZed@Ximian.com&gt;

        * providers/local/camel-maildir-folder.c
        (camel_maildir_folder_new): Use '.' as the inbox name for filter
        new messages test.

svn path=/trunk/; revision=13742
</content>
</entry>
<entry>
<title>Same as maildir and mbox append-message.</title>
<updated>2001-10-17T22:23:29+00:00</updated>
<author>
<name>Jeffrey Stedfast</name>
<email>fejj@ximian.com</email>
</author>
<published>2001-10-17T22:23:29+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=460c0c33231fddbbfac5ed56c58f3a06332d0040'/>
<id>urn:sha1:460c0c33231fddbbfac5ed56c58f3a06332d0040</id>
<content type='text'>
2001-10-17  Jeffrey Stedfast  &lt;fejj@ximian.com&gt;

	* providers/local/camel-mh-folder.c (mh_append_message): Same as
	maildir and mbox append-message.

	* providers/local/camel-maildir-folder.c (maildir_append_message):
	Same as mbox append.

	* camel-exception.c (camel_exception_set): Make sure the new
	description isn't the same as the old description pointer before
	freeing the old one.
	(camel_exception_setv): Don't free the old description until we
	set the new one this way we can reuse the old description in the
	new description.

	* providers/local/camel-mbox-folder.c (mbox_append_message): If
	errno == EINTR, then we got a user-cancel so set the exception
	appropriately so that we don't make the user shit his pants.

svn path=/trunk/; revision=13739
</content>
</entry>
<entry>
<title>replace the ever-growing list of gbooleans with a single guint32 for</title>
<updated>2001-10-09T03:07:39+00:00</updated>
<author>
<name>Dan Winship</name>
<email>danw@src.gnome.org</email>
</author>
<published>2001-10-09T03:07:39+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=5931b31034fb4d19482e517f6d8e5508fa1da908'/>
<id>urn:sha1:5931b31034fb4d19482e517f6d8e5508fa1da908</id>
<content type='text'>
	* camel-folder.h (struct _CamelFolder): replace the ever-growing
	list of gbooleans with a single guint32 for flags.

	* camel-folder.c: Update folder flag setting/checking.

	* providers/pop3/camel-pop3-folder.c (camel_pop3_folder_init):
	* providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new):
	* providers/local/camel-spool-folder.c (spool_init,
	camel_spool_folder_new):
	* providers/local/camel-maildir-folder.c (camel_maildir_folder_new):
	* providers/local/camel-local-folder.c (local_init):
	* providers/imap/camel-imap-folder.c (camel_imap_folder_init,
	camel_imap_folder_new):
	* camel-vtrash-folder.c (camel_vtrash_folder_init):
	* camel-vee-folder.c (camel_vee_folder_init):
	* camel-digest-folder.c (camel_digest_folder_init): update folder
	flag setting.

svn path=/trunk/; revision=13509
</content>
</entry>
<entry>
<title>If filter inbox is set on the store, and we're opening inbox '', then</title>
<updated>2001-09-18T21:43:00+00:00</updated>
<author>
<name>8</name>
<email>NotZed@Ximian.com</email>
</author>
<published>2001-09-18T21:43:00+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=8347ce1403c68a408a3b9952f6486b5ac584104b'/>
<id>urn:sha1:8347ce1403c68a408a3b9952f6486b5ac584104b</id>
<content type='text'>
2001-09-18    &lt;NotZed@Ximian.com&gt;

	* providers/local/camel-maildir-folder.c
	(camel_maildir_folder_new): If filter inbox is set on the store,
	and we're opening inbox '', then enable filtering on new messages.

	* providers/local/camel-local-folder.c
	(camel_local_folder_construct): After loading the summary, check
	it, and only abort if that fails.  Also maintain the changes
	count.

	* providers/local/camel-local-summary.c
	(camel_local_summary_load): Remove summary_check code from here.
	(camel_local_summary_check): Sync index/summary here, if we were
	successful.

	* providers/local/camel-spool-folder.c
	(camel_spool_folder_new): If we have filter-new-messages-on-inbox
	set and we just opened inbox, turn on filtering on this folder.
	(camel_spool_folder_construct): Keep track of changes for the
	folder, so that filter-new-messages works right (?)

	* providers/local/camel-spool-store.c (get_folder): Pass 'INBOX'
	as the folder name, not the path.

	* camel-folder-search.c (search_not): Modified patch from
	&lt;peterw@ximian.com&gt; since the summary is messageinfo's, not
	strings.

	** Ok so the problem with the stuff below is that maildir/spool
	'summary_load' throws away all events, including recents, joy eh?

	* providers/local/camel-maildir-summary.c (maildir_summary_check):
	Add new messages to the recent changeinfo.

	* providers/local/camel-spool-summary.c: Mark 'new' message as
	recent, for later processing if required (i.e. 'filter new
	messages').

	* camel-store.c (construct): new function, cascade up construct
	method and check for 'filter' param, and set accordingly for any
	one that might want it.

	* providers/imap/camel-imap-store.c (construct): map the
	param_filter_inbox flag to the store-&gt;flags as
	CAMEL_STORE_FILTER_INBOX.

	* camel-store.h (CAMEL_STORE_FILTER_INBOX): new flag to tell it to
	filter inbox.

	* providers/imap/camel-imap-folder.h: Removed do_filtering flag
	from CamelImapFolder.

	* providers/imap/camel-imap-folder.c (imap_update_summary): Remove
	the 'recents' parameter, use the 'changes' parameter instead to
	convey this info.
	(camel_imap_folder_changed): Changed for update_summary api
	change.  Now always just emit the changed event if we have any
	changes to report, filtering code removed, handled upstream.
	(filter_proc):
	(filter_free): Removed old filtering code.
	(camel_imap_folder_new): Set the filter_recent flag on the folder
	if we're the inbox and filtering of inbox is enabled.

	* camel-folder.c (folder_changed): If we have 'recent' messages,
	and are set to filter recents, then freeze the folder and launch a
	thread to do the processing (or similar if threading not enabled).
	(thaw): Make sure we emit the changed signal outside of owning the
	lock and if things have changed.  Also, no longer bother
	downgrading folder_changed events to message_changed events.

	* camel-folder.h (struct _CamelFolder): Added filter_recent flag
	-&gt; signifies all recent messages in folder should be filtered.

	* camel-session.c: (camel_session_thread_msg_new,
	camel_session_thread_msg_free, camel_session_thread_queue,
	camel_session_thread_wait): code to handle async operations as
	part of camel processing.
	(camel_session_finalise): free thread_lock, destroy thread, active
	hash, etc.
	(camel_session_init): init thread, active hash, etc.
	(camel_session_class_init): Init virtual functions.
	(session_thread_msg_new, session_thread_msg_free,
	session_thread_destroy, session_thread_received,
	session_thread_queue, session_thread_wait): default implementation
	of session threads stuff.

2001-09-17    &lt;NotZed@Ximian.com&gt;

	* camel-folder.c (camel_folder_change_info_recent_uid): New
	function to add a 'recent' uid to the change info.
	(camel_folder_change_info_clear): Clear recent list.
	(camel_folder_change_info_free): Free recent list.
	(camel_folder_change_info_new): Setup recent list.

	* camel-folder.h: Added a uid_recent item to the folder_changed
	event data.

	* providers/local/camel-maildir-store.c (scan_dir): Free new in
	the right block.

	* providers/local/camel-local-provider.c: Add local config entries
	to filter on new messages in spool and maildir provider.

	* camel-vee-folder.c (vee_folder_construct): Remove the assertion
	which stops ? in names from being allowed.

svn path=/trunk/; revision=12956
</content>
</entry>
<entry>
<title>Update the copyrights, replacing Helix Code with Ximian and</title>
<updated>2001-06-23T08:52:02+00:00</updated>
<author>
<name>Ettore Perazzoli</name>
<email>ettore@src.gnome.org</email>
</author>
<published>2001-06-23T08:52:02+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=91cc026904ed4cef8baf2e376940a850d02865ae'/>
<id>urn:sha1:91cc026904ed4cef8baf2e376940a850d02865ae</id>
<content type='text'>
helixcode.com with ximian.com all over the place.

svn path=/trunk/; revision=10440
</content>
</entry>
<entry>
<title>remove the summary info so we are not out-of-sync with the maildir folder.</title>
<updated>2001-05-25T19:58:37+00:00</updated>
<author>
<name>Jeffrey Stedfast</name>
<email>fejj@ximian.com</email>
</author>
<published>2001-05-25T19:58:37+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=6815fa8a3940102199da8d9be1e49e55f6efab11'/>
<id>urn:sha1:6815fa8a3940102199da8d9be1e49e55f6efab11</id>
<content type='text'>
2001-05-25  Jeffrey Stedfast  &lt;fejj@ximian.com&gt;

	* providers/local/camel-maildir-folder.c (maildir_append_message):
	remove the summary info so we are not out-of-sync with the maildir
	folder.

	* providers/local/camel-mh-folder.c (mh_append_message): remove
	the summary info so we are not out-of-sync with the mh folder.

	* providers/local/camel-mbox-folder.c (mbox_append_message):
	remove the summary info so we are not out-of-sync with the mbox.

svn path=/trunk/; revision=9996
</content>
</entry>
<entry>
<title>Big header cleanups and nntp compile fix</title>
<updated>2001-03-29T20:31:40+00:00</updated>
<author>
<name>Kjartan Maraas</name>
<email>kmaraas@src.gnome.org</email>
</author>
<published>2001-03-29T20:31:40+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=fe962a2055234adf407999f0557ae25441ca5c35'/>
<id>urn:sha1:fe962a2055234adf407999f0557ae25441ca5c35</id>
<content type='text'>
svn path=/trunk/; revision=9024
</content>
</entry>
<entry>
<title>Lock the command channel while searching. (imap_body_contains): If</title>
<updated>2000-12-24T00:46:20+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@HelixCode.com</email>
</author>
<published>2000-12-24T00:46:20+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=6de256c2a2b23f30d35e4a2213ad5839bf141d06'/>
<id>urn:sha1:6de256c2a2b23f30d35e4a2213ad5839bf141d06</id>
<content type='text'>
2000-12-24  Not Zed  &lt;NotZed@HelixCode.com&gt;

        * providers/imap/camel-imap-search.c (imap_body_contains): Lock
        the command channel while searching.
        (imap_body_contains): If performing a whole uid search, then add
        references to our own summary items, dont look it up in the
        folder.  This way they can't vanish unexpectedly.

        * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
        private field.

        * providers/imap/camel-imap-private.h: Added lock for imap
        searches.

        * Merge from camel-mt-branch.

        * providers/imap/camel-imap-folder.c (imap_update_summary): Merge
        fix, use the folder-&gt;summary.
        (imap_get_message_flags, imap_set_message_flags,
        imap_get_message_user_flag, imap_set_message_user_flag): Removed
        again.
        (camel_imap_folder_init): Setup private data/lock.
        (imap_finalize): Free private data/search lock.
        (imap_search_free): Lock the search_lock.
        (imap_search_by_expression): Lock the search lock when using the
        search object.  Also copy/ref hte summary, rather than getting it
        directly.
        (imap_refresh_info): Free any info lookups.  Use folder-&gt;summary
        not imap_folder-&gt;summary.  And lock around commands.

svn path=/trunk/; revision=7150
</content>
</entry>
<entry>
<title>Remove assertion that content is there, when it no longer can be.</title>
<updated>2000-11-30T11:05:36+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@HelixCode.com</email>
</author>
<published>2000-11-30T11:05:36+00:00</published>
<link rel='alternate' type='text/html' href='https://lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=1fbfdbd43e88e490ea11d56a3abde4631dab8cb5'/>
<id>urn:sha1:1fbfdbd43e88e490ea11d56a3abde4631dab8cb5</id>
<content type='text'>
2000-11-30  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* providers/local/camel-mbox-folder.c (mbox_get_message): Remove
	assertion that content is there, when it no longer can be.

	* camel-folder-summary.h: Removed pos/bodypos/endpos from
	camelmeessagecontentinfo.
	(CamelMessageFlags): Added an attachments flag.

	* providers/local/camel-local-summary.h: Added load virtual
	function.

	* tests/lib/folders.c (test_message_info): Accessors.
	(test_folder_message): "

	* camel-folder-thread.c (get_root_subject): Fix accessors.
	(dump_tree_rec): "

	* camel-folder-search.c (camel_folder_search_execute_expression):
	Accessors for messageinfo.
	(search_match_all): "
	(search_header_contains): "
	(search_header_contains): "
	(search_body_contains): "
	(camel_folder_search_execute_expression): Use mepool_strdup.

	* providers/local/camel-mbox-summary.c (summary_update): Accessors
	for messageinfo.
	(mbox_summary_sync_full): "

	* providers/local/camel-mh-summary.c (remove_summary): Accessors
	for messageinfo.
	(mh_summary_check): "
	(mh_summary_sync_message): "
	(mh_summary_sync): "

	* providers/local/camel-mh-folder.c (mh_append_message): Use
	accessor for uid.

	* providers/local/camel-local-summary.c
	(local_summary_decode_x_evolution): Use accessor to uid.
	(local_summary_encode_x_evolution): Likewise.
	(message_info_new): And here.
	(camel_local_summary_load): Call virtual load function.
	(local_summary_load): Default load function, load summary.
	(camel_local_summary_load): Check file exists before trying to
	load.
	(camel_local_summary_construct): Turn off building content info!
	(CAMEL_LOCAL_SUMMARY_VERSION): Bump, since we dont build content
	info anymore.
	(camel_local_summary_load): After a successful load/check, do a
	save too so we dont have to go through it again randomly.

	* providers/nntp/camel-nntp-utils.c (get_XOVER_headers): Use
	accessors for messageinfo.

	* providers/nntp/camel-nntp-folder.c (nntp_folder_get_uids): Use
	accessors for uid.

	* providers/imap/camel-imap-folder.c (imap_refresh_info): Use
	accessor for uid.
	(imap_sync): Likewise.
	(imap_get_uids): Likewise.
	(imap_update_summary): And here.

	* providers/vee/camel-vee-folder.c (vfolder_remove_match): Use
	accessor for uid.
	(vfolder_add_match): Handle estrv stuff.
	(vfolder_change_match): Accessor for uid.
	(get_real_message): "
	(vee_get_uids): "
	(vee_folder_build): " + estrv.
	(vee_folder_build_folder): "

	* providers/local/camel-maildir-folder.c (maildir_append_message):
	Use acccessors for uid's.
	(maildir_get_message): Here too.

	* providers/local/camel-maildir-summary.c
	(camel_maildir_summary_init): Setup the string count for us.
	(message_info_new): Access the string array directly.
	(message_info_free): No need to free string if using array.
	(camel_maildir_summary_info_to_name): Use accessor to get to uid.
	(remove_summary): And here.
	(maildir_summary_check): Likewise.
	(maildir_summary_sync): And here.
	(maildir_summary_load): Load up a cache of uid-&gt;filename mappings
	before loading the actual summary file.  This saves us having to
	waste the diskspace storing the filenames in the summary itself,
	and also helps us sync the summary better on load.
	(message_info_load): If we have the load_map setup, and the uid
	exists, then set the filename cache from it, and update the flags
	from the name, incase our summary mismatches it.

	* camel-folder-summary.c (camel_folder_summary_init): Setup string
	count for compressed info record.  An optional compile mode which
	stores all strings for a given messageinfo into a packed array,
	which should save 36-50 bytes/record.
	(camel_folder_summary_info_new): Init the string array.
	(message_info_new): Set the string array items, as required.
	(message_info_load): And here too.
	(message_info_save): Use accessors to get to strings.
	(message_info_free): Free strings as one.
	(camel_message_info_dup_to): Handle packed array case.
	(camel_folder_summary_add): Use accessors.  And pack the strv
	before storing it.
	(summary_assign_uid): New function to assign a unique uid to a
	message, if it doesn't have one.
	(camel_folder_summary_add): Call assign_uid instead of doing it
	ourselves.
	(camel_folder_summary_info_new_from_parser): "
	(camel_folder_summary_info_new_from_message): "
	(camel_folder_summary_encode_string): constify.
	(camel_folder_summary_encode_token): "
	(summary_build_content_info_message): Fix accessors to messageinfo.
	(CAMEL_FOLDER_SUMMARY_VERSION): Bumped, for removal of
	contentinfo-&gt;pos data.
	(camel_folder_summary_info_new_from_parser): Calculate the size
	based on the parser position, not the removed contentinfo stuff.
	(camel_folder_summary_info_new_from_message): Remove size stuff.
	(camel_folder_summary_offset_content): Removed, no longer means anything.
	(content_info_new):
	(content_info_load):
	(content_info_save):
	(summary_build_content_info): Remove stuff for contentinfo-&gt;pos*.
	(summary_build_content_info): Take a msginfo argument, set
	attachments flag if we find any attachments.
	(summary_build_content_info_message): set attachments flag if we
	find any attachments.
	(camel_folder_summary_info_new_from_parser): Always scan the
	content info, even if we dont save it.
	(camel_folder_summary_info_new_from_message): And here too.
	(summary_build_content_info): Only create the contentinfo stuff if
	we have it turned on, otherwise just parse and discard.
	(summary_build_content_info_message): Likewise.

svn path=/trunk/; revision=6731
</content>
</entry>
</feed>
