X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-folder.h;h=cdfccf3c009ae1f64955194df73619b71f6276fc;hp=02d2299b5cc0fe525748c82ede758af6dd0feef8;hb=15653b82b80a0905f45315e241e525b1b6524a4a;hpb=90b7d85fe6a7f3a46b14810fb9476982d021716d diff --git a/src/modest-tny-folder.h b/src/modest-tny-folder.h index 02d2299..cdfccf3 100644 --- a/src/modest-tny-folder.h +++ b/src/modest-tny-folder.h @@ -39,6 +39,9 @@ G_BEGIN_DECLS +/* TODO: move this to tinymail */ +#define TNY_FOLDER_TYPE_INVALID -1 + typedef enum { MODEST_FOLDER_RULES_FOLDER_NON_WRITEABLE = 1 << 1, MODEST_FOLDER_RULES_FOLDER_NON_DELETABLE = 1 << 2, @@ -50,13 +53,7 @@ typedef enum { * 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 @@ -67,23 +64,20 @@ typedef enum { * * Returns: the folder type, or TNY_FOLDER_TYPE_UNKNOWN */ -TnyFolderType modest_tny_folder_guess_folder_type (const TnyFolder *folder); +TnyFolderType modest_tny_folder_guess_folder_type (TnyFolder *folder); + + /** - * modest_tny_folder_guess_type_from_name: - * @folder_name: a folder name + * modest_tny_folder_is_remote_folder: + * @folder: a valid tnymail folder * - * determine the type of the folder. first, we see if tinymail - * can give a specific type. if it cannot, we try to guess the - * type, based on the name of the folder - * - * Note: this is a Class function, there does not require a tnyfolder instance + * checks if the folder is part of the "remote" account * - * Returns: the folder type, or TNY_FOLDER_TYPE_UNKNOWN + * Returns: TRUE if it's a remote folder, FALSE otherwise */ -TnyFolderType modest_tny_folder_guess_folder_type_from_name (const gchar *folder_name); - - +gboolean +modest_tny_folder_is_remote_folder (TnyFolder *folder); /** * modest_tny_folder_is_local_folder: @@ -95,6 +89,16 @@ TnyFolderType modest_tny_folder_guess_folder_type_from_name (const gchar *fol */ gboolean modest_tny_folder_is_local_folder (TnyFolder *folder); +/** + * modest_tny_folder_is_memory_card_folder: + * @folder: a valid tnymail folder + * + * checks if the folder is part of the memory card account. + * + * Returns: TRUE if it's a memory card folder, FALSE otherwise + */ +gboolean +modest_tny_folder_is_memory_card_folder (TnyFolder *folder); /** * modest_tny_folder_get_local_folder_type: @@ -104,7 +108,7 @@ gboolean modest_tny_folder_is_local_folder (TnyFolder *folder); * * Returns: TRUE if it's a local folder, FALSE otherwise */ -TnyFolderType modest_tny_folder_get_local_folder_type (TnyFolder *folder); +TnyFolderType modest_tny_folder_get_local_or_mmc_folder_type (TnyFolder *folder); /** @@ -119,6 +123,18 @@ TnyFolderType modest_tny_folder_get_local_folder_type (TnyFolder *folder); */ ModestTnyFolderRules modest_tny_folder_get_rules (TnyFolder *folder); + +/** + * modest_tny_folder_get_help_id: + * @folder: a valid tnymail folder + * + * get the help_id for this folder + * + * Returns: get the help_id for this folder, or NULL in case of error + */ +const gchar* modest_tny_folder_get_help_id (TnyFolder *folder); + + /** * modest_tny_folder_is_outbox_for_account: * @folder: a valid tnymail folder @@ -146,10 +162,9 @@ TnyAccount *modest_tny_folder_get_account (TnyFolder *folder); * modest_tny_msg_get_header_unique_id: * @header: a #TnyHeader * - * this function returns a unique id for a message summary, that's it - * a TnyHeader retrieved with tny_folder_get_headers (you can not use - * the TnyHeader returned by tny_msg_get_header because it has not an - * uid). + * This function returns a unique id for a message summary from + * a TnyHeader retrieved with tny_folder_get_headers. You can not use + * the TnyHeader returned by tny_msg_get_header because it has no uid. * * This uid is built from the folder URL string and the header uid, * the caller of the function must free the unique id when no longer @@ -159,6 +174,58 @@ TnyAccount *modest_tny_folder_get_account (TnyFolder *folder); **/ gchar* modest_tny_folder_get_header_unique_id (TnyHeader *header); +/** + * modest_tny_folder_has_subfolder_with_name: + * @folder: a #TnyFolderStore + * @name: the name to check into subfolders. + * @nonstrict: if TRUE, also match on different-case and current-locale + * display versions of the name + * + * This function check if subfolders of @folder has the same + * name as @name. + * + * Returns: TRUE if some subfolder has the name @name. + **/ +gboolean modest_tny_folder_has_subfolder_with_name (TnyFolderStore *folder, + const gchar *name, + gboolean nonstrict); + +/** + * modest_tny_folder_is_ancestor: + * @folder: a #TnyFolder + * @ancestor: a #TnyFolderStore + * + * This function checks if @ancestor is an ancestor of @folder + * + * Returns: TRUE if @ancestor is an ancestor of @folder, FALSE + * otherwise + **/ +gboolean modest_tny_folder_is_ancestor (TnyFolder *folder, + TnyFolderStore *ancestor); + +/** + * modest_tny_folder_store_find_folder_from_uri: + * @folder_store: a #TnyFolderStore + * @uri: a string + * + * This method tries to find a folder in @folder_store. The idea is + * being as fast as possible being synchronous. This is accomplished + * avoiding network access. + * + * Returns: %NULL if folder is not found, or a #TnyFolder. + */ +TnyFolder *modest_tny_folder_store_find_folder_from_uri (TnyFolderStore *folder_store, const gchar *uri); + +/** + * modest_tny_folder_get_display_name: + * @folder: a #TnyFolder + * + * obtain the display name for @folder + * + * Returns: a newly allocated string + */ +gchar * modest_tny_folder_get_display_name (TnyFolder *folder); + G_END_DECLS #endif /* __MODEST_TNY_FOLDER_H__*/