diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-07-13 23:06:14 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-07-13 23:06:14 +0800 |
commit | f2757356ba1c41da816b4e524b54846c16652ada (patch) | |
tree | f48951dbce6f1e330ac25b55e8c038737803cff7 /camel/camel-filter-driver.c | |
parent | 2673cf170b9fcd1e51cddd195b81d5d2ea3928ea (diff) | |
download | gsoc2013-evolution-f2757356ba1c41da816b4e524b54846c16652ada.tar gsoc2013-evolution-f2757356ba1c41da816b4e524b54846c16652ada.tar.gz gsoc2013-evolution-f2757356ba1c41da816b4e524b54846c16652ada.tar.bz2 gsoc2013-evolution-f2757356ba1c41da816b4e524b54846c16652ada.tar.lz gsoc2013-evolution-f2757356ba1c41da816b4e524b54846c16652ada.tar.xz gsoc2013-evolution-f2757356ba1c41da816b4e524b54846c16652ada.tar.zst gsoc2013-evolution-f2757356ba1c41da816b4e524b54846c16652ada.zip |
We now use a structure as the bucket data rather than just a cache level
2001-07-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-uid-cache.c (camel_uid_cache_new): We now use a structure
as the bucket data rather than just a cache level so set the save
state to TRUE.
(maybe_write_uid): We only save the uid if the cache levels are
the same *and* if the save state is TRUE.
(free_uid): Free the state value.
(camel_uid_cache_get_new_uids): New uids that get added to the
cache start with a save state of FALSE.
(camel_uid_cache_save_uid): Set the save state of the uid to
TRUE. What should we do if the uid isn't already in the cache?
Currently I make it add the uid, but maybe it shouldn't?
* providers/imap/camel-imap-folder.c (imap_filter_timeout): Update
to reflect CamelFilterDriver API changes.
* camel-filter-driver.c (camel_filter_driver_filter_folder): Take
a cache argument so we can tell the cache whether or not the uid
should be saved (meaning we have successfully filtered it).
svn path=/trunk/; revision=11084
Diffstat (limited to 'camel/camel-filter-driver.c')
-rw-r--r-- | camel/camel-filter-driver.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c index 6ecc4bffc0..c77c2d90b2 100644 --- a/camel/camel-filter-driver.c +++ b/camel/camel-filter-driver.c @@ -712,6 +712,7 @@ fail: * camel_filter_driver_filter_folder: * @driver: CamelFilterDriver * @folder: CamelFolder to be filtered + * @cache: UID cache (needed for POP folders) * @uids: message uids to be filtered or NULL (as a shortcut to filter all messages) * @remove: TRUE to mark filtered messages as deleted * @ex: exception @@ -724,7 +725,7 @@ fail: * **/ int -camel_filter_driver_filter_folder (CamelFilterDriver *driver, CamelFolder *folder, +camel_filter_driver_filter_folder (CamelFilterDriver *driver, CamelFolder *folder, CamelUIDCache *cache, GPtrArray *uids, gboolean remove, CamelException *ex) { struct _CamelFilterDriverPrivate *p = _PRIVATE (driver); @@ -793,6 +794,9 @@ camel_filter_driver_filter_folder (CamelFilterDriver *driver, CamelFolder *folde CAMEL_MESSAGE_DELETED | CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_DELETED | CAMEL_MESSAGE_SEEN); + if (cache) + camel_uid_cache_save_uid (cache, uids->pdata[i]); + camel_object_unref (CAMEL_OBJECT (message)); } |