mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-02-28 04:36:24 +00:00
Monotone-Parent: 9f415bbce0de3939851adeff8e3f25986b8630f7
Monotone-Revision: 1bf1a3f87feb2c04469fcff28770c25704ee5aab Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-08-10T14:08:40 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2012-08-10 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* OpenChange/MAPIStoreSOGo.m (sogo_folder_move_folder)
|
||||
(sogo_folder_copy_folder): the object on which the backend method
|
||||
is invoked is now the folder being moved rather than its parent.
|
||||
|
||||
2012-08-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* OpenChange/MAPIStoreMailFolder.m
|
||||
|
||||
@@ -123,13 +123,11 @@
|
||||
andChangeKeys: (struct Binary_r **) targetChangeKeys
|
||||
wantCopy: (uint8_t) want_copy;
|
||||
|
||||
- (enum mapistore_error) moveFolderWithFID: (uint64_t) fid
|
||||
fromFolder: (MAPIStoreFolder *) sourceFolder
|
||||
withNewName: (NSString *) newFolderName;
|
||||
- (enum mapistore_error) copyFolderWithFID: (uint64_t) fid
|
||||
fromFolder: (MAPIStoreFolder *) sourceFolder
|
||||
recursive: (BOOL) resursive
|
||||
withNewName: (NSString *) newFolderName;
|
||||
- (enum mapistore_error) moveToFolder: (MAPIStoreFolder *) targetFolder
|
||||
withNewName: (NSString *) newFolderName;
|
||||
- (enum mapistore_error) copyToFolder: (MAPIStoreFolder *) targetFolder
|
||||
recursive: (BOOL) resursive
|
||||
withNewName: (NSString *) newFolderName;
|
||||
|
||||
- (int) getDeletedFMIDs: (struct I8Array_r **) fmidsPtr
|
||||
andCN: (uint64_t *) cnPtr
|
||||
|
||||
@@ -795,17 +795,15 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
|
||||
return rc;
|
||||
}
|
||||
|
||||
- (enum mapistore_error) moveFolderWithFID: (uint64_t) fid
|
||||
fromFolder: (MAPIStoreFolder *) sourceFolder
|
||||
withNewName: (NSString *) newFolderName
|
||||
- (enum mapistore_error) moveToFolder: (MAPIStoreFolder *) targetFolder
|
||||
withNewName: (NSString *) newFolderName
|
||||
{
|
||||
return MAPISTORE_ERR_DENIED;
|
||||
}
|
||||
|
||||
- (enum mapistore_error) copyFolderWithFID: (uint64_t) fid
|
||||
fromFolder: (MAPIStoreFolder *) sourceFolder
|
||||
recursive: (BOOL) resursive
|
||||
withNewName: (NSString *) newFolderName
|
||||
- (enum mapistore_error) copyToFolder: (MAPIStoreFolder *) targetFolder
|
||||
recursive: (BOOL) resursive
|
||||
withNewName: (NSString *) newFolderName
|
||||
{
|
||||
return MAPISTORE_ERR_DENIED;
|
||||
}
|
||||
|
||||
@@ -1003,37 +1003,29 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP)
|
||||
return MAPISTORE_SUCCESS;
|
||||
}
|
||||
|
||||
- (enum mapistore_error) moveFolderWithFID: (uint64_t) fid
|
||||
fromFolder: (MAPIStoreFolder *) sourceFolder
|
||||
withNewName: (NSString *) newFolderName
|
||||
- (enum mapistore_error) moveToFolder: (MAPIStoreFolder *) targetFolder
|
||||
withNewName: (NSString *) newFolderName
|
||||
{
|
||||
enum mapistore_error rc;
|
||||
MAPIStoreMailFolder *moveFolder;
|
||||
NSURL *folderURL, *newFolderURL;
|
||||
SOGoMailFolder *sogoMoveFolder;
|
||||
SOGoMailFolder *targetSOGoFolder;
|
||||
NSException *error;
|
||||
|
||||
if ([sourceFolder isKindOfClass: MAPIStoreMailFolderK])
|
||||
if ([targetFolder isKindOfClass: MAPIStoreMailFolderK])
|
||||
{
|
||||
rc = [sourceFolder openFolder: &moveFolder withFID: fid];
|
||||
if (rc == MAPISTORE_SUCCESS)
|
||||
{
|
||||
sogoMoveFolder = [moveFolder sogoObject];
|
||||
folderURL = [sogoMoveFolder imap4URL];
|
||||
if (!newFolderName)
|
||||
newFolderName = [sogoMoveFolder nameInContainer];
|
||||
newFolderURL = [NSURL URLWithString: newFolderName
|
||||
relativeToURL: [sogoObject imap4URL]];
|
||||
error = [[sogoMoveFolder imap4Connection]
|
||||
moveMailboxAtURL: folderURL
|
||||
toURL: newFolderURL];
|
||||
if (error)
|
||||
rc = MAPISTORE_ERR_DENIED;
|
||||
else
|
||||
rc = MAPISTORE_SUCCESS;
|
||||
}
|
||||
folderURL = [sogoObject imap4URL];
|
||||
if (!newFolderName)
|
||||
newFolderName = [sogoObject nameInContainer];
|
||||
targetSOGoFolder = [targetFolder sogoObject];
|
||||
newFolderURL = [NSURL URLWithString: newFolderName
|
||||
relativeToURL: [targetSOGoFolder imap4URL]];
|
||||
error = [[sogoObject imap4Connection]
|
||||
moveMailboxAtURL: folderURL
|
||||
toURL: newFolderURL];
|
||||
if (error)
|
||||
rc = MAPISTORE_ERR_DENIED;
|
||||
else
|
||||
rc = MAPISTORE_ERR_NOT_FOUND;
|
||||
rc = MAPISTORE_SUCCESS;
|
||||
}
|
||||
else
|
||||
rc = MAPISTORE_ERR_DENIED;
|
||||
|
||||
@@ -609,11 +609,11 @@ sogo_folder_move_copy_messages(void *folder_object,
|
||||
}
|
||||
|
||||
static enum mapistore_error
|
||||
sogo_folder_move_folder(void *folder_object, void *source_folder_object,
|
||||
uint64_t fid, const char *new_folder_name)
|
||||
sogo_folder_move_folder(void *folder_object, void *target_folder_object,
|
||||
const char *new_folder_name)
|
||||
{
|
||||
MAPIStoreFolder *sourceFolder, *targetFolder;
|
||||
NSAutoreleasePool *pool;
|
||||
MAPIStoreFolder *moveFolder, *targetFolder;
|
||||
NSString *newFolderName;
|
||||
struct MAPIStoreTallocWrapper *wrapper;
|
||||
int rc;
|
||||
@@ -623,10 +623,10 @@ sogo_folder_move_folder(void *folder_object, void *source_folder_object,
|
||||
if (folder_object)
|
||||
{
|
||||
wrapper = folder_object;
|
||||
targetFolder = wrapper->instance;
|
||||
moveFolder = wrapper->instance;
|
||||
|
||||
wrapper = source_folder_object;
|
||||
sourceFolder = wrapper->instance;
|
||||
wrapper = target_folder_object;
|
||||
targetFolder = wrapper->instance;
|
||||
|
||||
GSRegisterCurrentThread ();
|
||||
pool = [NSAutoreleasePool new];
|
||||
@@ -636,9 +636,8 @@ sogo_folder_move_folder(void *folder_object, void *source_folder_object,
|
||||
else
|
||||
newFolderName = nil;
|
||||
|
||||
rc = [targetFolder moveFolderWithFID: fid
|
||||
fromFolder: sourceFolder
|
||||
withNewName: newFolderName];
|
||||
rc = [moveFolder moveToFolder: targetFolder
|
||||
withNewName: newFolderName];
|
||||
[pool release];
|
||||
GSUnregisterCurrentThread ();
|
||||
}
|
||||
@@ -651,12 +650,11 @@ sogo_folder_move_folder(void *folder_object, void *source_folder_object,
|
||||
}
|
||||
|
||||
static enum mapistore_error
|
||||
sogo_folder_copy_folder(void *folder_object, void *source_folder_object,
|
||||
uint64_t fid, bool recursive,
|
||||
const char *new_folder_name)
|
||||
sogo_folder_copy_folder(void *folder_object, void *target_folder_object,
|
||||
bool recursive, const char *new_folder_name)
|
||||
{
|
||||
MAPIStoreFolder *sourceFolder, *targetFolder;
|
||||
NSAutoreleasePool *pool;
|
||||
MAPIStoreFolder *copyFolder, *targetFolder;
|
||||
NSString *newFolderName;
|
||||
struct MAPIStoreTallocWrapper *wrapper;
|
||||
int rc;
|
||||
@@ -666,20 +664,19 @@ sogo_folder_copy_folder(void *folder_object, void *source_folder_object,
|
||||
if (folder_object)
|
||||
{
|
||||
wrapper = folder_object;
|
||||
targetFolder = wrapper->instance;
|
||||
copyFolder = wrapper->instance;
|
||||
|
||||
wrapper = source_folder_object;
|
||||
sourceFolder = wrapper->instance;
|
||||
wrapper = target_folder_object;
|
||||
targetFolder = wrapper->instance;
|
||||
|
||||
GSRegisterCurrentThread ();
|
||||
pool = [NSAutoreleasePool new];
|
||||
|
||||
newFolderName = [NSString stringWithUTF8String: new_folder_name];
|
||||
|
||||
rc = [targetFolder copyFolderWithFID: fid
|
||||
fromFolder: sourceFolder
|
||||
recursive: recursive
|
||||
withNewName: newFolderName];
|
||||
rc = [copyFolder copyToFolder: targetFolder
|
||||
recursive: recursive
|
||||
withNewName: newFolderName];
|
||||
[pool release];
|
||||
GSUnregisterCurrentThread ();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user