aboutsummaryrefslogtreecommitdiff
path: root/libsylph/folder.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsylph/folder.c')
-rw-r--r--libsylph/folder.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/libsylph/folder.c b/libsylph/folder.c
index 74ab3df7..97c13237 100644
--- a/libsylph/folder.c
+++ b/libsylph/folder.c
@@ -162,6 +162,26 @@ void folder_remote_folder_destroy(RemoteFolder *rfolder)
session_destroy(rfolder->session);
}
+gint folder_remote_folder_destroy_all_sessions(void)
+{
+ GList *list;
+ Folder *folder;
+ RemoteFolder *rfolder;
+
+ for (list = folder_list; list != NULL; list = list->next) {
+ folder = FOLDER(list->data);
+ if (FOLDER_IS_REMOTE(folder)) {
+ rfolder = REMOTE_FOLDER(folder);
+ if (rfolder->session) {
+ session_destroy(rfolder->session);
+ rfolder->session = NULL;
+ }
+ }
+ }
+
+ return 0;
+}
+
gint folder_scan_tree(Folder *folder)
{
g_return_val_if_fail(folder != NULL, -1);