From 90f1194b43faa8dba68271439c20607f3a723187 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Thu, 29 Mar 2001 02:03:06 +0000 Subject: Access the folder directly from the message info. 2001-03-29 Not Zed * camel-vtrash-folder.c (vtrash_move_messages_to): Access the folder directly from the message info. (vtrash_move_messages_to): I think we also need to call the real move_messages_to, and not try and bypass the lock, since we dont have the lock for that folder. * camel-vee-folder.h: Move CamelVeeMessageInfo to public, so subclasses can get to it. * camel-vee-folder.c (camel_vee_folder_add_folder): Dont let you add a vfolder to itself. (folder_changed): (vee_folder_remove_folder): (vee_folder_build_folder): Copy changes before triggering changed events, so we can do them outside of locks. (camel_vee_folder_get_message_folder): Removed function. (camel_vee_folder_hash_folder): Made public (renamed from hash_folder), simply for subclasses (probably not needed). svn path=/trunk/; revision=9004 --- camel/camel-vee-folder.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'camel/camel-vee-folder.h') diff --git a/camel/camel-vee-folder.h b/camel/camel-vee-folder.h index b410bc26dc..6cd75aaf20 100644 --- a/camel/camel-vee-folder.h +++ b/camel/camel-vee-folder.h @@ -31,6 +31,12 @@ typedef struct _CamelVeeFolder CamelVeeFolder; typedef struct _CamelVeeFolderClass CamelVeeFolderClass; +/* our message info includes the parent folder */ +typedef struct _CamelVeeMessageInfo { + CamelMessageInfo info; + CamelFolder *folder; +} CamelVeeMessageInfo; + struct _CamelVeeFolder { CamelFolder parent; @@ -53,10 +59,10 @@ guint camel_vee_folder_get_type (void); CamelFolder *camel_vee_folder_new (CamelStore *parent_store, const char *name, guint32 flags); void camel_vee_folder_construct (CamelVeeFolder *vf, CamelStore *parent_store, const char *name, guint32 flags); -void camel_vee_folder_add_folder (CamelVeeFolder *vf, CamelFolder *sub); -void camel_vee_folder_remove_folder (CamelVeeFolder *vf, CamelFolder *sub); -void camel_vee_folder_set_expression (CamelVeeFolder *vf, const char *expr); +void camel_vee_folder_add_folder (CamelVeeFolder *vf, CamelFolder *sub); +void camel_vee_folder_remove_folder (CamelVeeFolder *vf, CamelFolder *sub); +void camel_vee_folder_set_expression (CamelVeeFolder *vf, const char *expr); -CamelFolder *camel_vee_folder_get_message_folder (CamelVeeFolder *vf, const char *uid); +void camel_vee_folder_hash_folder (CamelFolder *folder, char buffer[8]); #endif /* ! _CAMEL_VEE_FOLDER_H */ -- cgit v1.2.3