From 497976e4cf85807017a5a9b4d9840a2d3712b03c Mon Sep 17 00:00:00 2001 From: CodaFi Date: Thu, 4 Jul 2013 14:04:46 -0600 Subject: Adds localized description table --- src/objc/abstract/MCOConstants.h | 38 ++++++++++++++++++++++++++++++++++++++ src/objc/utils/NSError+MCO.mm | 9 ++++++--- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/objc/abstract/MCOConstants.h b/src/objc/abstract/MCOConstants.h index 5ec21422..4d1ce094 100644 --- a/src/objc/abstract/MCOConstants.h +++ b/src/objc/abstract/MCOConstants.h @@ -350,4 +350,42 @@ typedef enum { */ typedef void (^MCOConnectionLogger)(void * connectionID, MCOConnectionLogType type, NSData * data); +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 */ +}; + #endif diff --git a/src/objc/utils/NSError+MCO.mm b/src/objc/utils/NSError+MCO.mm index c9f4f998..df12123e 100644 --- a/src/objc/utils/NSError+MCO.mm +++ b/src/objc/utils/NSError+MCO.mm @@ -12,10 +12,13 @@ if (code == mailcore::ErrorNone) { return nil; } - + + NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] init]; + [userInfo setObject:MCOLocalizedDescriptionTable[code] forKey:NSLocalizedDescriptionKey]; + NSError *error = [NSError errorWithDomain:MCOErrorDomain code:(int)code - userInfo:nil]; + userInfo:userInfo]; return error; } -@end \ No newline at end of file +@end -- cgit v1.2.3