See ChangeLog

Monotone-Parent: 8027e57cbf5cbb4ab2ee6bf9509fe2f571f150c1
Monotone-Revision: 0ffde732abb09a8e3d0382ed47a3ec787f25796e

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2011-09-14T18:33:44
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Ludovic Marcotte
2011-09-14 18:33:44 +00:00
parent 8fb4411dd6
commit 057a38355b
22 changed files with 713 additions and 47 deletions
+41 -1
View File
@@ -402,7 +402,8 @@ sogo_folder_create_message(void *folder_object,
folder = wrapper->MAPIStoreSOGoObject;
pool = [NSAutoreleasePool new];
rc = [folder createMessage: &message
withMID: mid isAssociated: associated];
withMID: mid
isAssociated: associated];
if (rc == MAPISTORE_SUCCESS)
*message_object = [message tallocWrapper: mem_ctx];
[pool release];
@@ -441,6 +442,44 @@ sogo_folder_delete_message(void *folder_object, uint64_t mid, uint8_t flags)
return rc;
}
static int
sogo_folder_move_copy_message(void *folder_object, uint64_t mid, void *target_folder, void *target_message, uint8_t want_copy)
{
MAPIStoreFolder *sourceFolder, *targetFolder;
MAPIStoreMessage *targetMessage;
NSAutoreleasePool *pool;
struct MAPIStoreTallocWrapper *wrapper;
int rc;
DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
if (folder_object)
{
wrapper = folder_object;
sourceFolder = wrapper->MAPIStoreSOGoObject;
wrapper = target_folder;
targetFolder = wrapper->MAPIStoreSOGoObject;
wrapper = target_message;
targetMessage = wrapper->MAPIStoreSOGoObject;
pool = [NSAutoreleasePool new];
rc = [sourceFolder moveCopyMessageWithMID: mid
toFolder: targetFolder
inMessage: targetMessage
wantCopy: want_copy];
[pool release];
}
else
{
rc = sogo_backend_unexpected_error();
}
return rc;
}
static int
sogo_folder_get_deleted_fmids(void *folder_object, TALLOC_CTX *mem_ctx,
uint8_t table_type, uint64_t change_num,
@@ -1031,6 +1070,7 @@ int mapistore_init_backend(void)
backend.folder.open_message = sogo_folder_open_message;
backend.folder.create_message = sogo_folder_create_message;
backend.folder.delete_message = sogo_folder_delete_message;
backend.folder.move_copy_message = sogo_folder_move_copy_message;
backend.folder.get_deleted_fmids = sogo_folder_get_deleted_fmids;
backend.folder.get_child_count = sogo_folder_get_child_count;
backend.folder.open_table = sogo_folder_open_table;