geary/src/engine/imap/api/imap-folder-extensions.vala
Jim Nelson 0533bc9700 Further work on detecting message removal when folder first selected: #3805
Needed to rethink storage strategies as I researched this and realized that a true scarce database -- where the database is sparsely populated both in columns and rows -- is not feasible due to IMAP's UID rules.  The strategy now means that the database rows are contiguous from the highest (newest) message to the oldest *requested by the user*.  This is a better situation than having to download the UID for the entire folder.
2011-07-15 13:39:02 -07:00

24 lines
1.1 KiB
Vala

/* Copyright 2011 Yorba Foundation
*
* This software is licensed under the GNU Lesser General Public License
* (version 2.1 or later). See the COPYING file in this distribution.
*/
public interface Geary.Imap.FolderExtensions : Geary.Folder {
/**
* Much like Geary.Folder.list_email_async(), but this list operation allows for a range of
* emails to be specified by their UID rather than position (message number). If low is null
* that indicates to search from the lowest UID (1) to high. Likewise, if high is null it
* indicates to search from low to the highest UID. Setting both to null will return all
* emails in the folder.
*
* Unlike list_email_async(), this call guarantees that the messages will be returned in UID
* order, from lowest to highest.
*
* The folder must be open before making this call.
*/
public abstract async Gee.List<Geary.Email>? list_email_uid_async(Geary.Imap.UID? low,
Geary.Imap.UID? high, Geary.Email.Field fields, Cancellable? cancellable = null)
throws Error;
}