+
+gint
+modest_list_index (TnyList *list, GObject *object)
+{
+ TnyIterator *iter;
+ gint index = 0;
+
+ g_return_val_if_fail (TNY_IS_LIST(list), -1);
+ g_return_val_if_fail (G_IS_OBJECT(object), -1);
+
+ iter = tny_list_create_iterator (list);
+ while (!tny_iterator_is_done (iter)) {
+ GObject *current = tny_iterator_get_current (iter);
+
+ g_object_unref (current);
+ if (current == object)
+ break;
+
+ tny_iterator_next (iter);
+ index++;
+ }
+
+ if (tny_iterator_is_done (iter))
+ index = -1;
+ g_object_unref (iter);
+ return index;
+}
+
+guint64
+modest_folder_available_space (const gchar *maildir_path)
+{
+ gchar *folder;
+ gchar *uri_string;
+ GnomeVFSURI *uri;
+ GnomeVFSFileSize size;
+
+ folder = modest_local_folder_info_get_maildir_path (maildir_path);
+ uri_string = gnome_vfs_get_uri_from_local_path (folder);
+ uri = gnome_vfs_uri_new (uri_string);
+ g_free (folder);
+ g_free (uri_string);
+
+ if (uri) {
+ if (gnome_vfs_get_volume_free_space (uri, &size) != GNOME_VFS_OK)
+ size = -1;
+ gnome_vfs_uri_unref (uri);
+ } else {
+ size = -1;
+ }
+
+ return (guint64) size;
+}