Monotone-Parent: be64ce923b1780a6ed810e7250748d84ad4425bb

Monotone-Revision: 7f9dd19e7f17c342c380ab2a0c551594be6d8762

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-02-02T01:45:17
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2012-02-02 01:45:17 +00:00
parent 28f7997539
commit 32ee60c025
7 changed files with 73 additions and 10 deletions

View File

@@ -22,6 +22,7 @@
#import <Foundation/NSCalendarDate.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSException.h>
#import <NGExtensions/NSObject+Logs.h>
#import <EOControl/EOQualifier.h>
#import <EOControl/EOFetchSpecification.h>
@@ -29,6 +30,7 @@
#import <GDLContentStore/GCSFolder.h>
#import <SOGo/NSArray+Utilities.h>
#import <SOGo/SOGoGCSFolder.h>
#import <SOGo/SOGoParentFolder.h>
#import <SOGo/SOGoPermissions.h>
#import <SOGo/SOGoUser.h>
@@ -44,6 +46,7 @@
#undef DEBUG
#include <mapistore/mapistore.h>
#include <mapistore/mapistore_errors.h>
@implementation MAPIStoreGCSFolder
@@ -72,6 +75,33 @@
[super dealloc];
}
- (int) deleteFolder
{
int rc;
NSException *error;
NSString *name;
name = [self nameInContainer];
if ([name isEqualToString: @"personal"])
rc = MAPISTORE_ERR_DENIED;
else
{
[[sogoObject container] removeSubFolder: name];
error = [(SOGoGCSFolder *) sogoObject delete];
if (error)
rc = MAPISTORE_ERROR;
else
{
if (![versionsMessage delete])
rc = MAPISTORE_SUCCESS;
else
rc = MAPISTORE_ERROR;
}
}
return (rc == MAPISTORE_SUCCESS) ? [super deleteFolder] : rc;
}
- (void) addProperties: (NSDictionary *) newProperties
{
NSString *newDisplayName;