#include <tny-simple-list.h>
#include <tny-camel-folder.h>
#include <tny-merge-folder.h>
-#include <camel/camel-folder.h>
#include <modest-protocol-info.h>
#include <modest-runtime.h>
#include <modest-tny-account-store.h>
* _full name_, that is, the full path name of the folder,
* to distinguish between 'Outbox' and 'myfunkyfolder/Outbox'
*/
- CamelFolder *camel_folder = tny_camel_folder_get_folder (TNY_CAMEL_FOLDER(folder));
- if (!camel_folder)
- return TNY_FOLDER_TYPE_UNKNOWN;
- const gchar *full_name = camel_folder_get_full_name (camel_folder);
+ const gchar *full_name = tny_camel_folder_get_full_name (TNY_CAMEL_FOLDER (folder));
/* printf ("DEBUG: %s: full_name=%s\n", __FUNCTION__, full_name); */
- camel_object_unref (CAMEL_OBJECT(camel_folder));
if (!full_name)
return TNY_FOLDER_TYPE_UNKNOWN;
return FALSE;
return TRUE;
-#if 0
- /* we need to use the camel functions, because we want the
- * _full name_, that is, the full path name of the folder,
- * to distinguis between 'Outbox' and 'myfunkyfolder/Outbox'
- */
- CamelFolder *camel_folder = tny_camel_folder_get_folder (TNY_CAMEL_FOLDER(folder));
- if (!camel_folder)
- return FALSE;
-
- const gchar *full_name = camel_folder_get_full_name (camel_folder);
- camel_object_unref (CAMEL_OBJECT(camel_folder));
-
- if (!full_name)
- return TNY_FOLDER_TYPE_UNKNOWN;
- else
- return modest_local_folder_info_get_type (full_name);
-
- return FALSE;
-#endif
}
gchar*
return same_subfolder;
}
+
+gboolean
+modest_tny_folder_is_ancestor (TnyFolder *folder,
+ TnyFolderStore *ancestor)
+{
+ TnyFolderStore *tmp = NULL;
+ gboolean found = FALSE;
+
+ tmp = TNY_FOLDER_STORE (folder);
+ while (!found && tmp && !TNY_IS_ACCOUNT (tmp)) {
+ TnyFolderStore *folder_store;
+
+ folder_store = tny_folder_get_folder_store (TNY_FOLDER (tmp));
+ if (ancestor == folder_store)
+ found = TRUE;
+ else
+ tmp = folder_store;
+ g_object_unref (folder_store);
+ }
+ return found;
+}