gpointer data);
typedef void (*FolderItemFunc) (FolderItem *item,
gpointer data);
+typedef void (*FolderItemUpdateFunc) (FolderItem *item,
+ gboolean contentchange,
+ gpointer data);
struct _Folder
{
FolderItem *item,
gboolean use_cache);
*/
+ FolderItem *(*item_new) (Folder *folder);
+ void (*item_destroy) (Folder *folder,
+ FolderItem *item);
gchar * (*fetch_msg) (Folder *folder,
FolderItem *item,
gint num);
gint (*remove_msg) (Folder *folder,
FolderItem *item,
gint num);
+ gint (*remove_msgs) (Folder *folder,
+ FolderItem *item,
+ GSList *msglist);
gint (*remove_all_msg) (Folder *folder,
FolderItem *item);
gboolean (*is_msg_changed) (Folder *folder,
FolderItem *item,
MsgInfo *msginfo);
gint (*scan) (Folder *folder);
- GSList * (*get_num_list) (Folder *folder,
- FolderItem *item);
+ gint (*get_num_list) (Folder *folder,
+ FolderItem *item,
+ GSList **list);
void (*scan_tree) (Folder *folder);
gint (*create_tree) (Folder *folder);
gchar *name;
gchar *path;
- PrefsAccount *account;
time_t mtime;
Folder *folder;
+ PrefsAccount *account;
+
+ gboolean apply_sub;
+
GSList *mark_queue;
gpointer data;
FolderItem *folder_get_default_trash (void);
FolderItem *folder_get_default_processing (void);
void folder_set_missing_folders (void);
+void folder_unref_account_all (PrefsAccount *account);
gchar *folder_get_path (Folder *folder);
gchar *folder_item_get_path (FolderItem *item);
gint folder_item_add_msg (FolderItem *dest,
const gchar *file,
gboolean remove_source);
+FolderItem *folder_item_move_to (FolderItem *src,
+ FolderItem *dest);
gint folder_item_move_msg (FolderItem *dest,
MsgInfo *msginfo);
gint folder_item_move_msgs_with_dest (FolderItem *dest,
gchar *folder_item_get_cache_file (FolderItem *item);
gchar *folder_item_get_mark_file (FolderItem *item);
gchar * folder_item_get_identifier(FolderItem * item);
-FolderItem * folder_find_item_from_identifier(const gchar *identifier);
GHashTable *folder_persist_prefs_new (Folder *folder);
void folder_persist_prefs_free (GHashTable *pptable);
void folder_item_apply_processing (FolderItem *item);
+void folder_update_item (FolderItem *item,
+ gboolean contentchange);
+void folder_update_items_when_required (gboolean contentchange);
+void folder_update_item_recursive (FolderItem *item,
+ gboolean update_summary);
+gint folder_item_update_callback_register(FolderItemUpdateFunc func,
+ gpointer data);
+void folder_item_update_callback_unregister(gint id);
+
#endif /* __FOLDER_H__ */