diff options
Diffstat (limited to 'libsylph/folder.c')
-rw-r--r-- | libsylph/folder.c | 20 |
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); |