From b14f308a9a70fa4584ac9c11682a5efb4d8f4f41 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 25 Jul 2011 12:52:56 +0000 Subject: [PATCH] Monotone-Parent: 32b84d9dc2715067c885c49bfc26087eac4dcd2b Monotone-Revision: 07360851cf3a316ca37852af2234ebfc07bfe933 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-07-25T12:52:56 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++++ SoObjects/Mailer/SOGoMailAccount.h | 3 +++ SoObjects/Mailer/SOGoMailAccount.m | 14 ++++++++++---- 3 files changed, 19 insertions(+), 4 deletions(-) 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