aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/utils
diff options
context:
space:
mode:
authorGravatar Robert Widmann <devteam.codafi@gmail.com>2013-07-04 22:08:20 -0600
committerGravatar Robert Widmann <devteam.codafi@gmail.com>2013-07-04 22:08:20 -0600
commitb994253888b35ba80a1da4bad6de58c4027d853f (patch)
tree3e4e5e30052d66bfbd678dde430ff1275b528724 /src/objc/utils
parent497976e4cf85807017a5a9b4d9840a2d3712b03c (diff)
Moved table
Diffstat (limited to 'src/objc/utils')
-rw-r--r--src/objc/utils/NSError+MCO.mm43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/objc/utils/NSError+MCO.mm b/src/objc/utils/NSError+MCO.mm
index df12123e..8b3b0c24 100644
--- a/src/objc/utils/NSError+MCO.mm
+++ b/src/objc/utils/NSError+MCO.mm
@@ -7,6 +7,44 @@
#import "MCOConstants.h"
+static NSString * MCOLocalizedDescriptionTable[] = {
+ @"", /** MCOErrorNone */
+ @"A stable connection to the server could not be established.", /** MCOErrorConnection */
+ @"The server does not support TLS/SSL connections.", /** MCOErrorTLSNotAvailable */
+ @"Unable to parse response from server.", /** MCOErrorParse */
+ @"The certificate for this server is invalid.", /** MCOErrorCertificate */
+ @"Unable to authenticate with the current session's credentials.", /** MCOErrorAuthentication */
+ @"IMAP is not enabled for this Gmail account.", /** MCOErrorGmailIMAPNotEnabled */
+ @"Bandwidth limits were exceeded while requesting data from this Gmail account.", /** MCOErrorGmailExceededBandwidthLimit */
+ @"Too many simultaneous connections were made to this Gmail account.", /** MCOErrorGmailTooManySimultaneousConnections */
+ @"MobileMe is no longer an active mail service.", /** MCOErrorMobileMeMoved */
+ @"Yahoo!'s servers are currently unavailable.", /** MCOErrorYahooUnavailable */
+ @"The requested folder does not exist. Folder selection failed", /** MCOErrorNonExistantFolder */
+ @"An error occured while renaming the requested folder.", /** MCOErrorRename */
+ @"An error occured while deleting the requested folder.", /** MCOErrorDelete */
+ @"An error occured while creating the requested folder.", /** MCOErrorCreate */
+ @"An error occured while (un)subscribing to the requested folder.", /** MCOErrorSubscribe */
+ @"An error occured while appending a message to the requested folder.", /** MCOErrorAppend */
+ @"An error occured while copying a message to the requested folder.", /** MCOErrorCopy */
+ @"An error occured while expunging a message in the requested folder.", /** MCOErrorExpunge */
+ @"An error occured while fetching messages in the requested folder.", /** MCOErrorFetch */
+ @"An error occured during an IDLE operation.", /** MCOErrorIdle */
+ @"An error occured while requesting the server's identity.", /** MCOErrorIdentity */
+ @"An error occured while requesting the server's namespace.", /** MCOErrorNamespace */
+ @"An error occured while storing flags.", /** MCOErrorStore */
+ @"An error occured while requesting the server's capabilities.", /** MCOErrorCapability */
+ @"The server does not support STARTTLS connections.", /** MCOErrorStartTLSNotAvailable */
+ @"Attempted to send a message with an illegal attachment.", /** MCOErrorSendMessageIllegalAttachment */
+ @"The SMTP storage limit was hit while trying to send a large message.", /** MCOErrorStorageLimit */
+ @"Sending messages is not allowed on this server.", /** MCOErrorSendMessageNotAllowed */
+ @"The current HotMail account cannot connect to WebMail.", /** MCOErrorNeedsConnectToWebmail */
+ @"An error occured while sending the message.", /** MCOErrorSendMessage */
+ @"Authentication is required for this SMTP server.", /** MCOErrorAuthenticationRequired */
+ @"An error occured while fetching a message list on the POP server.", /** MCOErrorFetchMessageList */
+ @"An error occured while deleting a message on the POP server.", /** MCOErrorDeleteMessage */
+ @"Account check failed because the account is invalid.", /** MCOErrorInvalidAccount */
+};
+
@implementation NSError (MCO)
+ (NSError *)mco_errorWithErrorCode:(mailcore::ErrorCode)code {
if (code == mailcore::ErrorNone) {
@@ -14,7 +52,10 @@
}
NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] init];
- [userInfo setObject:MCOLocalizedDescriptionTable[code] forKey:NSLocalizedDescriptionKey];
+ if (code < MCOErrorCodeCount) {
+ NSString * localizedString = NSLocalizedStringFromTable(MCOLocalizedDescriptionTable[code], @"description of errors of mailcore", @"MailCore");
+ [userInfo setObject:localizedString forKey:NSLocalizedDescriptionKey];
+ }
NSError *error = [NSError errorWithDomain:MCOErrorDomain
code:(int)code