aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-20 08:37:14 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-20 08:37:14 +0000
commit3bc4ce303283eb3f6652ffc0c6a1243f1002a400 (patch)
tree3d8f93127f22aaed6d4f493a2b62d8fe4b54d3d5
parent8af430a73e527f8507b973561b8d424cee37b63f (diff)
added 2 Folder API.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1329 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.ja5
-rw-r--r--libsylph/folder.c20
-rw-r--r--libsylph/folder.h3
4 files changed, 24 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ac33e97..1619c312 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2006-11-20
+ * libsylph/folder.[ch]: added folder_scan_tree() and
+ folder_create_tree().
+
+2006-11-20
+
* merged from LibSylph branch.
* libsylph/prefs_common.[ch]: added prefs_common_get().
* libsylph/filter.h: modified the prototype of filter_cond_new().
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 4c2c5f77..22345418 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,10 @@
2006-11-20
+ * libsylph/folder.[ch]: folder_scan_tree() と folder_create_tree()
+ を追加。
+
+2006-11-20
+
* LibSylph ブランチからマージ。
* libsylph/prefs_common.[ch]: prefs_common_get() を追加。
* libsylph/filter.h: filter_cond_new() のプロトタイプを修正。
diff --git a/libsylph/folder.c b/libsylph/folder.c
index 59842a98..ba6a3a59 100644
--- a/libsylph/folder.c
+++ b/libsylph/folder.c
@@ -140,19 +140,21 @@ void folder_remote_folder_destroy(RemoteFolder *rfolder)
session_destroy(rfolder->session);
}
-#if 0
-Folder *mbox_folder_new(const gchar *name, const gchar *path)
+gint folder_scan_tree(Folder *folder)
{
- /* not yet implemented */
- return NULL;
+ g_return_val_if_fail(folder != NULL, -1);
+ g_return_val_if_fail(folder->klass->scan_tree != NULL, -1);
+
+ return folder->klass->scan_tree(folder);
}
-Folder *maildir_folder_new(const gchar *name, const gchar *path)
+gint folder_create_tree(Folder *folder)
{
- /* not yet implemented */
- return NULL;
+ g_return_val_if_fail(folder != NULL, -1);
+ g_return_val_if_fail(folder->klass->create_tree != NULL, -1);
+
+ return folder->klass->create_tree(folder);
}
-#endif
FolderItem *folder_item_new(const gchar *name, const gchar *path)
{
@@ -810,7 +812,7 @@ void folder_set_missing_folders(void)
folder->queue && folder->trash)
continue;
- if (folder->klass->create_tree(folder) < 0) {
+ if (folder_create_tree(folder) < 0) {
g_warning("%s: can't create the folder tree.\n",
LOCAL_FOLDER(folder)->rootpath);
continue;
diff --git a/libsylph/folder.h b/libsylph/folder.h
index 8badb324..a5083c2e 100644
--- a/libsylph/folder.h
+++ b/libsylph/folder.h
@@ -309,6 +309,9 @@ void folder_destroy (Folder *folder);
void folder_local_folder_destroy (LocalFolder *lfolder);
void folder_remote_folder_destroy(RemoteFolder *rfolder);
+gint folder_scan_tree (Folder *folder);
+gint folder_create_tree (Folder *folder);
+
FolderItem *folder_item_new (const gchar *name,
const gchar *path);
void folder_item_append (FolderItem *parent,