X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-tny-folder.h;h=909691193a5e0a6ee941bc1f2da72383c04fd056;hb=f9c6f2853bd000cf4554a267235d45e144464ed8;hp=0ace9ac7b4707ab81d825cb806f57b1a15a50ac5;hpb=d2ccacc82b0f9d49e38cccb7aa227e31e7f29995;p=modest diff --git a/src/modest-tny-folder.h b/src/modest-tny-folder.h index 0ace9ac..9096911 100644 --- a/src/modest-tny-folder.h +++ b/src/modest-tny-folder.h @@ -35,28 +35,28 @@ #define __MODEST_TNY_FOLDER_H__ #include +#include G_BEGIN_DECLS typedef enum { - MODEST_FOLDER_RULES_FOLDER_READ_ONLY = 0 << 1, - MODEST_FOLDER_RULES_FOLDER_DELETABLE + MODEST_FOLDER_RULES_FOLDER_NON_WRITEABLE = 1 << 1, + MODEST_FOLDER_RULES_FOLDER_NON_DELETABLE = 1 << 2, + MODEST_FOLDER_RULES_FOLDER_NON_MOVEABLE = 1 << 3, + MODEST_FOLDER_RULES_FOLDER_NON_RENAMEABLE = 1 << 4, } ModestTnyFolderRules; -typedef enum { - MODEST_LOCAL_FOLDER_TYPE_UNKNOWN, - - MODEST_LOCAL_FOLDER_TYPE_DRAFTS, - MODEST_LOCAL_FOLDER_TYPE_SENT, - MODEST_LOCAL_FOLDER_TYPE_OUTBOX, - MODEST_LOCAL_FOLDER_TYPE_ARCHIVE, - MODEST_LOCAL_FOLDER_TYPE_JUNK, - MODEST_LOCAL_FOLDER_TYPE_TRASH, - - MODEST_LOCAL_FOLDER_TYPE_NUM -} ModestLocalFolderType; - - +/** Note: This is not a derived TnyFolder type. These are just convenience + * functions for working with a TnyFolder. tinymail does not seem to offer any + * easy way to cause derived TnyFolders to be instantiated. + */ + +/* TODO: These "const TnyFolder*" arguments will eventually need to + * be "TnyFolder*". C cannot support constness for complex objects like C++ + * can, because it lacks the mutable keyword and doesn't allow both const + * and non-const get function overloads. + */ + /** * modest_tny_folder_guess_type: * @folder: a valid tnymail folder @@ -84,6 +84,29 @@ TnyFolderType modest_tny_folder_guess_folder_type (const TnyFolder *folder); TnyFolderType modest_tny_folder_guess_folder_type_from_name (const gchar *folder_name); + +/** + * modest_tny_folder_is_local_folder: + * @folder: a valid tnymail folder + * + * checks if the folder is part of the "local folders" pseudo-account + * + * Returns: TRUE if it's a local folder, FALSE otherwise + */ +gboolean modest_tny_folder_is_local_folder (TnyFolder *folder); + + +/** + * modest_tny_folder_get_local_folder_type: + * @folder: a valid tnymail folder + * + * checks if the folder is part of the "local folders" pseudo-account + * + * Returns: TRUE if it's a local folder, FALSE otherwise + */ +TnyFolderType modest_tny_folder_get_local_folder_type (TnyFolder *folder); + + /** * modest_tny_folder_get_rules: * @folder: a valid tnymail folder @@ -94,15 +117,19 @@ TnyFolderType modest_tny_folder_guess_folder_type_from_name (const gchar *fol * Returns: the ModestTnyFolderRules rules (bitwise-OR) for this * folder */ -ModestTnyFolderRules modest_tny_folder_get_rules (const TnyFolder *folder); - - -/* some class-function (ie. don't require TnyFolder* */ -ModestLocalFolderType modest_tny_folder_get_local_folder_type (const gchar *name); -const gchar* modest_tny_folder_get_local_folder_type_name (ModestLocalFolderType type); -const gchar* modest_tny_folder_get_local_folder_type_display_name (ModestLocalFolderType type); - +ModestTnyFolderRules modest_tny_folder_get_rules (TnyFolder *folder); +/** + * modest_tny_folder_is_outbox_for_account: + * @folder: a valid tnymail folder + * + * Discover whether this folder is the per-account outbox for the specified + * account. + * + * Returns: TRUE if this folder is the per-account outbox for the account. + */ +gboolean modest_tny_folder_is_outbox_for_account (TnyFolder *folder, + TnyAccount *account); G_END_DECLS