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);
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);
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__ */