diff --git a/ChangeLog b/ChangeLog index 50fa4ea60..fb8f3d1f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-07-25 Wolfgang Sourdeau + + * SoObjects/Mailer/SOGoMailAccount.m (-hasCapability): new proxy + method that determines whether an IMAP capability is present on + the server. + 2011-07-22 Wolfgang Sourdeau * OpenChange/MAPIStoreSOGo.m (sogo_table_get_row_count): added new diff --git a/SoObjects/Mailer/SOGoMailAccount.h b/SoObjects/Mailer/SOGoMailAccount.h index cc3d331b1..7bee0323b 100644 --- a/SoObjects/Mailer/SOGoMailAccount.h +++ b/SoObjects/Mailer/SOGoMailAccount.h @@ -64,7 +64,10 @@ typedef enum { - (SOGoIMAPAclStyle) imapAclStyle; - (BOOL) imapAclConformsToIMAPExt; +/* capabilities */ +- (BOOL) hasCapability: (NSString *) capability; - (BOOL) supportsQuotas; + - (id) getInboxQuota; - (BOOL) updateFilters; diff --git a/SoObjects/Mailer/SOGoMailAccount.m b/SoObjects/Mailer/SOGoMailAccount.m index e733e3953..317077d66 100644 --- a/SoObjects/Mailer/SOGoMailAccount.m +++ b/SoObjects/Mailer/SOGoMailAccount.m @@ -227,15 +227,21 @@ static NSString *inboxFolderName = @"INBOX"; return conforms; } -- (BOOL) supportsQuotas +/* capabilities */ +- (BOOL) hasCapability: (NSString *) capability { NGImap4Client *imapClient; - NSArray *capability; + NSArray *capabilities; imapClient = [[self imap4Connection] client]; - capability = [[imapClient capability] objectForKey: @"capability"]; + capabilities = [[imapClient capability] objectForKey: @"capability"]; - return [capability containsObject: @"quota"]; + return [capabilities containsObject: capability]; +} + +- (BOOL) supportsQuotas +{ + return [self hasCapability: @"quota"]; } - (id) getInboxQuota