diff options
author | Oliver Rickard <ocrickard@gmail.com> | 2013-05-28 14:29:15 -0700 |
---|---|---|
committer | Oliver Rickard <ocrickard@gmail.com> | 2013-05-28 14:29:15 -0700 |
commit | fbd06946aa6d5feddcc7c6a4221987910d205c00 (patch) | |
tree | f716ba9c731e1185d3d7ca707c52737f34946fe0 | |
parent | 88e6c0e7550537b03b6c4fa89eebc5237061320b (diff) | |
parent | e0a977625868e7b3f8631cc8f6da5ecbff2ac031 (diff) |
Merged in from mailcore master
-rw-r--r-- | README.md | 11 | ||||
-rw-r--r-- | TODO.md | 1 | ||||
-rw-r--r-- | build-mac/mailcore2.xcodeproj/project.pbxproj | 159 | ||||
-rw-r--r-- | src/core/basetypes/MCString.cc | 2 | ||||
-rw-r--r-- | src/core/imap/MCIMAPSession.cc | 8 | ||||
-rw-r--r-- | src/objc/MCObjC.h | 1 | ||||
-rw-r--r-- | src/objc/imap/MCOIMAPMessage.h | 7 | ||||
-rw-r--r-- | src/objc/imap/MCOIMAPSession.h | 12 | ||||
-rw-r--r-- | src/objc/provider/MCONetService.mm | 5 | ||||
-rw-r--r-- | src/objc/provider/MCOProvider.h | 17 | ||||
-rw-r--r-- | src/objc/rfc822/MCOMessageBuilder.h | 3 | ||||
-rw-r--r-- | src/objc/rfc822/MCOMessageParser.h | 4 |
12 files changed, 157 insertions, 73 deletions
@@ -1,6 +1,11 @@ ## Mailcore 2: Introduction ## +<<<<<<< HEAD MailCore 2 brings a new API designed from the ground up to be fast, portable, and asynchronous. It features: +======= +MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. +The API has been redesigned from ground up. +>>>>>>> upstream/master - **POP**, **IMAP** and **SMTP** support - **[RFC822](http://www.ietf.org/rfc/rfc0822.txt)** parser and generator @@ -43,6 +48,7 @@ Using MailCore 2 is just a little more complex conceptually than the original Ma [session setPassword:@"123456"]; [session setConnectionType:MCOConnectionTypeTLS]; +<<<<<<< HEAD MCOIMAPMessagesRequestKind requestKind = MCOIMAPMessagesRequestKindHeaders; NSString *folder = @"INBOX"; MCOIndexSet *uids = [MCOIndexSet indexSetWithRange:MCORangeMake(1, UINT64_MAX)]; @@ -138,3 +144,8 @@ As you can see, we use [ctemplates](https://code.google.com/p/ctemplate/) in ord * Add images * Add more in-depth steps/examples for how to work with imap messages * Add examples for POP and SMTP. +======= +- Add libMailCore-ios.a +- Set "Other Linker Flags": `-lctemplate-ios -letpan-ios -licudata -licui18n -licuuc -lxml2 -lsasl2 -liconv -ltidy -lstdc++ -all_load` +- Make sure to use GNU C++ standard library. +>>>>>>> upstream/master @@ -1,2 +1,3 @@ - Linux build using cmake - Windows build using Visual studio (might be provided by cmake) +- NodeJS plugin diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 1c784073..58c0471e 100644 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -7,27 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 843EE40B172DD5B900C882AA /* MCOMailProvidersManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 843EE40A172DD5B900C882AA /* MCOMailProvidersManager.mm */; }; - 843EE40C172DD5B900C882AA /* MCOMailProvidersManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 843EE40A172DD5B900C882AA /* MCOMailProvidersManager.mm */; }; - 843EE40F172DD71300C882AA /* MCMailProvidersManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 843EE40D172DD71200C882AA /* MCMailProvidersManager.cc */; }; - 843EE410172DD71300C882AA /* MCMailProvidersManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 843EE40D172DD71200C882AA /* MCMailProvidersManager.cc */; }; - 843EE411172DDF5100C882AA /* MCProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E73172DAD0200E60AA3 /* MCProvider.h */; }; - 843EE412172DDF5100C882AA /* MCMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 843EE40E172DD71200C882AA /* MCMailProvidersManager.h */; }; - 843EE413172DDF5100C882AA /* MCMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E75172DAD3300E60AA3 /* MCMailProvider.h */; }; - 843EE414172DDF5100C882AA /* MCNetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E79172DAD7500E60AA3 /* MCNetService.h */; }; - 843EE415172DDF5F00C882AA /* MCProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E73172DAD0200E60AA3 /* MCProvider.h */; }; - 843EE416172DDF5F00C882AA /* MCMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 843EE40E172DD71200C882AA /* MCMailProvidersManager.h */; }; - 843EE417172DDF5F00C882AA /* MCMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E75172DAD3300E60AA3 /* MCMailProvider.h */; }; - 843EE418172DDF5F00C882AA /* MCNetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E79172DAD7500E60AA3 /* MCNetService.h */; }; - 84AF9E76172DAD3300E60AA3 /* MCMailProvider.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E74172DAD3300E60AA3 /* MCMailProvider.cc */; }; - 84AF9E77172DAD3300E60AA3 /* MCMailProvider.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E74172DAD3300E60AA3 /* MCMailProvider.cc */; }; - 84AF9E7A172DAD7500E60AA3 /* MCNetService.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E78172DAD7500E60AA3 /* MCNetService.cc */; }; - 84AF9E7B172DAD7500E60AA3 /* MCNetService.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E78172DAD7500E60AA3 /* MCNetService.cc */; }; 84AF9E7E172DBAF600E60AA3 /* providers.json in Resources */ = {isa = PBXBuildFile; fileRef = 84AF9E7D172DBAF600E60AA3 /* providers.json */; }; - 84AF9E88172DBC4700E60AA3 /* MCOMailProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */; }; - 84AF9E89172DBC4700E60AA3 /* MCOMailProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */; }; - 84AF9E8C172DBE4100E60AA3 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */; }; - 84AF9E8D172DBE4100E60AA3 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */; }; C07AD5D7FD82F8ACAB576231 /* NSError+MCO.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C07AD44B013BB42A240B4F04 /* NSError+MCO.h */; }; C07AD99B2E2054C684DB8FF6 /* NSError+MCO.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07ADFE43E22B38EFF23ADB5 /* NSError+MCO.mm */; }; C07ADC28B83E7959BF114D46 /* MCOIMAPSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07AD057D3C8FBDC7AC95733 /* MCOIMAPSession.mm */; }; @@ -562,6 +542,34 @@ C6CCC5C716FFE5190077A5FC /* MCORange.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6CCC5C616FFE5190077A5FC /* MCORange.mm */; }; C6CCC5C916FFEA070077A5FC /* MCORange.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CCC5C816FFE54F0077A5FC /* MCORange.h */; }; C6CCC5CA16FFEA090077A5FC /* MCOIndexSet.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6F5B9F216FEAC6C00D9DABD /* MCOIndexSet.h */; }; + C6CF62B9175324CE006398B9 /* MCOMailProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62B3175324CE006398B9 /* MCOMailProvider.mm */; }; + C6CF62BA175324CE006398B9 /* MCOMailProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62B3175324CE006398B9 /* MCOMailProvider.mm */; }; + C6CF62BB175324CE006398B9 /* MCOMailProvidersManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62B5175324CE006398B9 /* MCOMailProvidersManager.mm */; }; + C6CF62BC175324CE006398B9 /* MCOMailProvidersManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62B5175324CE006398B9 /* MCOMailProvidersManager.mm */; }; + C6CF62BD175324CE006398B9 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62B7175324CE006398B9 /* MCONetService.mm */; }; + C6CF62BE175324CE006398B9 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62B7175324CE006398B9 /* MCONetService.mm */; }; + C6CF62C6175324F0006398B9 /* MCMailProvider.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62BF175324F0006398B9 /* MCMailProvider.cc */; }; + C6CF62C7175324F0006398B9 /* MCMailProvider.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62BF175324F0006398B9 /* MCMailProvider.cc */; }; + C6CF62C8175324F0006398B9 /* MCMailProvidersManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62C1175324F0006398B9 /* MCMailProvidersManager.cc */; }; + C6CF62C9175324F0006398B9 /* MCMailProvidersManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62C1175324F0006398B9 /* MCMailProvidersManager.cc */; }; + C6CF62CA175324F0006398B9 /* MCNetService.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62C3175324F0006398B9 /* MCNetService.cc */; }; + C6CF62CB175324F0006398B9 /* MCNetService.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6CF62C3175324F0006398B9 /* MCNetService.cc */; }; + C6CF62CD1753250E006398B9 /* MCOMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B2175324CE006398B9 /* MCOMailProvider.h */; }; + C6CF62CE17532510006398B9 /* MCOMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B4175324CE006398B9 /* MCOMailProvidersManager.h */; }; + C6CF62CF17532514006398B9 /* MCONetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B6175324CE006398B9 /* MCONetService.h */; }; + C6CF62D017532521006398B9 /* MCOProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B8175324CE006398B9 /* MCOProvider.h */; }; + C6CF62D117532527006398B9 /* MCMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C0175324F0006398B9 /* MCMailProvider.h */; }; + C6CF62D21753252A006398B9 /* MCMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C2175324F0006398B9 /* MCMailProvidersManager.h */; }; + C6CF62D31753252F006398B9 /* MCNetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C4175324F0006398B9 /* MCNetService.h */; }; + C6CF62D417532531006398B9 /* MCProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C5175324F0006398B9 /* MCProvider.h */; }; + C6CF62D5175325BB006398B9 /* MCOMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B2175324CE006398B9 /* MCOMailProvider.h */; }; + C6CF62D6175325BD006398B9 /* MCOMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B4175324CE006398B9 /* MCOMailProvidersManager.h */; }; + C6CF62D7175325BF006398B9 /* MCONetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B6175324CE006398B9 /* MCONetService.h */; }; + C6CF62D8175325C5006398B9 /* MCOProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62B8175324CE006398B9 /* MCOProvider.h */; }; + C6CF62D9175325CC006398B9 /* MCMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C0175324F0006398B9 /* MCMailProvider.h */; }; + C6CF62DA175325D5006398B9 /* MCMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C2175324F0006398B9 /* MCMailProvidersManager.h */; }; + C6CF62DB175325E2006398B9 /* MCNetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C4175324F0006398B9 /* MCNetService.h */; }; + C6CF62DC175325F0006398B9 /* MCProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6CF62C5175324F0006398B9 /* MCProvider.h */; }; C6D42C1D16AE03D6002BB4F9 /* NSData+MCO.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D42C1A16AE03D6002BB4F9 /* NSData+MCO.mm */; }; C6D42C1E16AE03D6002BB4F9 /* NSString+MCO.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D42C1C16AE03D6002BB4F9 /* NSString+MCO.mm */; }; C6D42C2A16AE0507002BB4F9 /* NSData+MCO.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6D42C1916AE03D6002BB4F9 /* NSData+MCO.h */; }; @@ -674,10 +682,13 @@ dstPath = include/MailCore; dstSubfolderSpec = 16; files = ( - 843EE411172DDF5100C882AA /* MCProvider.h in CopyFiles */, - 843EE412172DDF5100C882AA /* MCMailProvidersManager.h in CopyFiles */, - 843EE413172DDF5100C882AA /* MCMailProvider.h in CopyFiles */, - 843EE414172DDF5100C882AA /* MCNetService.h in CopyFiles */, + C6CF62CD1753250E006398B9 /* MCOMailProvider.h in CopyFiles */, + C6CF62CE17532510006398B9 /* MCOMailProvidersManager.h in CopyFiles */, + C6CF62D017532521006398B9 /* MCOProvider.h in CopyFiles */, + C6CF62D117532527006398B9 /* MCMailProvider.h in CopyFiles */, + C6CF62D417532531006398B9 /* MCProvider.h in CopyFiles */, + C6CF62D31753252F006398B9 /* MCNetService.h in CopyFiles */, + C6CF62D21753252A006398B9 /* MCMailProvidersManager.h in CopyFiles */, C6AC113417124D0600B715B7 /* MCLibetpanTypes.h in CopyFiles */, C63CD68C16BE1BC800DB18F1 /* MCHTMLRendererCallback.h in CopyFiles */, C6A81BFC1707821F00882C15 /* MCOPOP.h in CopyFiles */, @@ -695,6 +706,7 @@ C6A81BEF1707806600882C15 /* MCOSMTPSendOperation.h in CopyFiles */, C63CD68916BE1BC100DB18F1 /* MCDateFormatter.h in CopyFiles */, C6F61FAE170288640073032E /* MCOMessageBuilder.h in CopyFiles */, + C6CF62CF17532514006398B9 /* MCONetService.h in CopyFiles */, C6F61FB61702B5290073032E /* MCOIMAPBaseOperation.h in CopyFiles */, C6F61FB21702886B0073032E /* MCORFC822.h in CopyFiles */, C623C58616FD6A50001BBEFC /* MCOConstants.h in CopyFiles */, @@ -853,10 +865,11 @@ dstPath = include/MailCore; dstSubfolderSpec = 16; files = ( - 843EE415172DDF5F00C882AA /* MCProvider.h in CopyFiles */, - 843EE416172DDF5F00C882AA /* MCMailProvidersManager.h in CopyFiles */, - 843EE417172DDF5F00C882AA /* MCMailProvider.h in CopyFiles */, - 843EE418172DDF5F00C882AA /* MCNetService.h in CopyFiles */, + C6CF62D5175325BB006398B9 /* MCOMailProvider.h in CopyFiles */, + C6CF62D6175325BD006398B9 /* MCOMailProvidersManager.h in CopyFiles */, + C6CF62D7175325BF006398B9 /* MCONetService.h in CopyFiles */, + C6CF62D8175325C5006398B9 /* MCOProvider.h in CopyFiles */, + C6CF62D9175325CC006398B9 /* MCMailProvider.h in CopyFiles */, C6AC113517124D0A00B715B7 /* MCLibetpanTypes.h in CopyFiles */, C6BA2B0C1705F4E6003F0E9E /* MCHTMLRendererCallback.h in CopyFiles */, C6BA2B0D1705F4E6003F0E9E /* MCOMultipart.h in CopyFiles */, @@ -873,6 +886,8 @@ C6A81BF61707810E00882C15 /* MCOSMTP.h in CopyFiles */, C6BA2B101705F4E6003F0E9E /* MCORFC822.h in CopyFiles */, C6A81BFD1707822200882C15 /* MCOPOP.h in CopyFiles */, + C6CF62DA175325D5006398B9 /* MCMailProvidersManager.h in CopyFiles */, + C6CF62DB175325E2006398B9 /* MCNetService.h in CopyFiles */, C6A81BF91707811500882C15 /* MCOSMTPOperation.h in CopyFiles */, C6A81BF81707811100882C15 /* MCOSMTPSendOperation.h in CopyFiles */, C6BA2B111705F4E6003F0E9E /* MCOConstants.h in CopyFiles */, @@ -904,6 +919,7 @@ C6BA2B271705F4E6003F0E9E /* MCOIMAPMultipart.h in CopyFiles */, C6BA2B281705F4E6003F0E9E /* MCOHTMLRendererDelegate.h in CopyFiles */, C6BA2B2A1705F4E6003F0E9E /* MCOHTMLRendererIMAPDelegate.h in CopyFiles */, + C6CF62DC175325F0006398B9 /* MCProvider.h in CopyFiles */, C6BA2B2B1705F4E6003F0E9E /* MCOIMAPPart.h in CopyFiles */, C6BA2B2C1705F4E6003F0E9E /* MCOIMAPFetchFoldersOperation.h in CopyFiles */, C6BA2B2D1705F4E6003F0E9E /* MCOIMAPFolder.h in CopyFiles */, @@ -1020,20 +1036,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 843EE409172DD5B900C882AA /* MCOMailProvidersManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCOMailProvidersManager.h; path = provider/MCOMailProvidersManager.h; sourceTree = "<group>"; }; - 843EE40A172DD5B900C882AA /* MCOMailProvidersManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MCOMailProvidersManager.mm; path = provider/MCOMailProvidersManager.mm; sourceTree = "<group>"; }; - 843EE40D172DD71200C882AA /* MCMailProvidersManager.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MCMailProvidersManager.cc; path = ../provider/MCMailProvidersManager.cc; sourceTree = "<group>"; }; - 843EE40E172DD71200C882AA /* MCMailProvidersManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCMailProvidersManager.h; path = ../provider/MCMailProvidersManager.h; sourceTree = "<group>"; }; - 84AF9E73172DAD0200E60AA3 /* MCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCProvider.h; path = ../provider/MCProvider.h; sourceTree = "<group>"; }; - 84AF9E74172DAD3300E60AA3 /* MCMailProvider.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MCMailProvider.cc; path = ../provider/MCMailProvider.cc; sourceTree = "<group>"; }; - 84AF9E75172DAD3300E60AA3 /* MCMailProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCMailProvider.h; path = ../provider/MCMailProvider.h; sourceTree = "<group>"; }; - 84AF9E78172DAD7500E60AA3 /* MCNetService.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MCNetService.cc; path = ../provider/MCNetService.cc; sourceTree = "<group>"; }; - 84AF9E79172DAD7500E60AA3 /* MCNetService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCNetService.h; path = ../provider/MCNetService.h; sourceTree = "<group>"; }; 84AF9E7D172DBAF600E60AA3 /* providers.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = providers.json; path = ../resources/providers.json; sourceTree = "<group>"; }; - 84AF9E86172DBC4700E60AA3 /* MCOMailProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCOMailProvider.h; path = provider/MCOMailProvider.h; sourceTree = "<group>"; }; - 84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MCOMailProvider.mm; path = provider/MCOMailProvider.mm; sourceTree = "<group>"; }; - 84AF9E8A172DBE4000E60AA3 /* MCONetService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCONetService.h; path = provider/MCONetService.h; sourceTree = "<group>"; }; - 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MCONetService.mm; path = provider/MCONetService.mm; sourceTree = "<group>"; }; C07AD057D3C8FBDC7AC95733 /* MCOIMAPSession.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCOIMAPSession.mm; sourceTree = "<group>"; }; C07AD44B013BB42A240B4F04 /* NSError+MCO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+MCO.h"; sourceTree = "<group>"; }; C07ADFE43E22B38EFF23ADB5 /* NSError+MCO.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSError+MCO.mm"; sourceTree = "<group>"; }; @@ -1311,6 +1314,20 @@ C6CCC5C616FFE5190077A5FC /* MCORange.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCORange.mm; sourceTree = "<group>"; }; C6CCC5C816FFE54F0077A5FC /* MCORange.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MCORange.h; sourceTree = "<group>"; }; C6CCC5CB16FFF7B50077A5FC /* MCOIndexSet+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MCOIndexSet+Private.h"; sourceTree = "<group>"; }; + C6CF62B2175324CE006398B9 /* MCOMailProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCOMailProvider.h; sourceTree = "<group>"; }; + C6CF62B3175324CE006398B9 /* MCOMailProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCOMailProvider.mm; sourceTree = "<group>"; }; + C6CF62B4175324CE006398B9 /* MCOMailProvidersManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCOMailProvidersManager.h; sourceTree = "<group>"; }; + C6CF62B5175324CE006398B9 /* MCOMailProvidersManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCOMailProvidersManager.mm; sourceTree = "<group>"; }; + C6CF62B6175324CE006398B9 /* MCONetService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONetService.h; sourceTree = "<group>"; }; + C6CF62B7175324CE006398B9 /* MCONetService.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONetService.mm; sourceTree = "<group>"; }; + C6CF62B8175324CE006398B9 /* MCOProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCOProvider.h; sourceTree = "<group>"; }; + C6CF62BF175324F0006398B9 /* MCMailProvider.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCMailProvider.cc; sourceTree = "<group>"; }; + C6CF62C0175324F0006398B9 /* MCMailProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCMailProvider.h; sourceTree = "<group>"; }; + C6CF62C1175324F0006398B9 /* MCMailProvidersManager.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCMailProvidersManager.cc; sourceTree = "<group>"; }; + C6CF62C2175324F0006398B9 /* MCMailProvidersManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCMailProvidersManager.h; sourceTree = "<group>"; }; + C6CF62C3175324F0006398B9 /* MCNetService.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNetService.cc; sourceTree = "<group>"; }; + C6CF62C4175324F0006398B9 /* MCNetService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNetService.h; sourceTree = "<group>"; }; + C6CF62C5175324F0006398B9 /* MCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCProvider.h; sourceTree = "<group>"; }; C6D42C1916AE03D6002BB4F9 /* NSData+MCO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+MCO.h"; sourceTree = "<group>"; }; C6D42C1A16AE03D6002BB4F9 /* NSData+MCO.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSData+MCO.mm"; sourceTree = "<group>"; }; C6D42C1B16AE03D6002BB4F9 /* NSString+MCO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MCO.h"; sourceTree = "<group>"; }; @@ -1432,29 +1449,29 @@ 84AF9E72172DACC900E60AA3 /* provider */ = { isa = PBXGroup; children = ( - 84AF9E73172DAD0200E60AA3 /* MCProvider.h */, - 843EE40D172DD71200C882AA /* MCMailProvidersManager.cc */, - 843EE40E172DD71200C882AA /* MCMailProvidersManager.h */, - 84AF9E74172DAD3300E60AA3 /* MCMailProvider.cc */, - 84AF9E75172DAD3300E60AA3 /* MCMailProvider.h */, - 84AF9E78172DAD7500E60AA3 /* MCNetService.cc */, - 84AF9E79172DAD7500E60AA3 /* MCNetService.h */, - ); - name = provider; - path = smtp; + C6CF62BF175324F0006398B9 /* MCMailProvider.cc */, + C6CF62C0175324F0006398B9 /* MCMailProvider.h */, + C6CF62C1175324F0006398B9 /* MCMailProvidersManager.cc */, + C6CF62C2175324F0006398B9 /* MCMailProvidersManager.h */, + C6CF62C3175324F0006398B9 /* MCNetService.cc */, + C6CF62C4175324F0006398B9 /* MCNetService.h */, + C6CF62C5175324F0006398B9 /* MCProvider.h */, + ); + path = provider; sourceTree = "<group>"; }; 84AF9E84172DBC1000E60AA3 /* provider */ = { isa = PBXGroup; children = ( - 84AF9E86172DBC4700E60AA3 /* MCOMailProvider.h */, - 84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */, - 84AF9E8A172DBE4000E60AA3 /* MCONetService.h */, - 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */, - 843EE409172DD5B900C882AA /* MCOMailProvidersManager.h */, - 843EE40A172DD5B900C882AA /* MCOMailProvidersManager.mm */, - ); - name = provider; + C6CF62B2175324CE006398B9 /* MCOMailProvider.h */, + C6CF62B3175324CE006398B9 /* MCOMailProvider.mm */, + C6CF62B4175324CE006398B9 /* MCOMailProvidersManager.h */, + C6CF62B5175324CE006398B9 /* MCOMailProvidersManager.mm */, + C6CF62B6175324CE006398B9 /* MCONetService.h */, + C6CF62B7175324CE006398B9 /* MCONetService.mm */, + C6CF62B8175324CE006398B9 /* MCOProvider.h */, + ); + path = provider; sourceTree = "<group>"; }; C63CD67616BDCDD300DB18F1 /* renderer */ = { @@ -2378,14 +2395,14 @@ C6D6F954171E5CB8006F5B28 /* MCMD5.cc in Sources */, C6D6F956171E5CB8006F5B28 /* MCNull.cc in Sources */, C6D6F967171FCF9F006F5B28 /* MCJSONParser.cc in Sources */, - 84AF9E76172DAD3300E60AA3 /* MCMailProvider.cc in Sources */, - 84AF9E7A172DAD7500E60AA3 /* MCNetService.cc in Sources */, - 84AF9E88172DBC4700E60AA3 /* MCOMailProvider.mm in Sources */, - 84AF9E8C172DBE4100E60AA3 /* MCONetService.mm in Sources */, - 843EE40B172DD5B900C882AA /* MCOMailProvidersManager.mm in Sources */, - 843EE40F172DD71300C882AA /* MCMailProvidersManager.cc in Sources */, C668E2C71735C8D500A2BB47 /* MCObjectMac.mm in Sources */, C668E2CC1735CB8900A2BB47 /* MCAutoreleasePoolMac.mm in Sources */, + C6CF62B9175324CE006398B9 /* MCOMailProvider.mm in Sources */, + C6CF62BB175324CE006398B9 /* MCOMailProvidersManager.mm in Sources */, + C6CF62BD175324CE006398B9 /* MCONetService.mm in Sources */, + C6CF62C6175324F0006398B9 /* MCMailProvider.cc in Sources */, + C6CF62C8175324F0006398B9 /* MCMailProvidersManager.cc in Sources */, + C6CF62CA175324F0006398B9 /* MCNetService.cc in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2550,14 +2567,14 @@ C6D6F955171E5CB8006F5B28 /* MCMD5.cc in Sources */, C6D6F957171E5CB8006F5B28 /* MCNull.cc in Sources */, C6D6F968171FCF9F006F5B28 /* MCJSONParser.cc in Sources */, - 84AF9E77172DAD3300E60AA3 /* MCMailProvider.cc in Sources */, - 84AF9E7B172DAD7500E60AA3 /* MCNetService.cc in Sources */, - 84AF9E89172DBC4700E60AA3 /* MCOMailProvider.mm in Sources */, - 84AF9E8D172DBE4100E60AA3 /* MCONetService.mm in Sources */, - 843EE40C172DD5B900C882AA /* MCOMailProvidersManager.mm in Sources */, - 843EE410172DD71300C882AA /* MCMailProvidersManager.cc in Sources */, C668E2C81735C8D500A2BB47 /* MCObjectMac.mm in Sources */, C668E2CD1735CB8900A2BB47 /* MCAutoreleasePoolMac.mm in Sources */, + C6CF62BA175324CE006398B9 /* MCOMailProvider.mm in Sources */, + C6CF62BC175324CE006398B9 /* MCOMailProvidersManager.mm in Sources */, + C6CF62BE175324CE006398B9 /* MCONetService.mm in Sources */, + C6CF62C7175324F0006398B9 /* MCMailProvider.cc in Sources */, + C6CF62C9175324F0006398B9 /* MCMailProvidersManager.cc in Sources */, + C6CF62CB175324F0006398B9 /* MCNetService.cc in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/src/core/basetypes/MCString.cc b/src/core/basetypes/MCString.cc index dce01683..6710e599 100644 --- a/src/core/basetypes/MCString.cc +++ b/src/core/basetypes/MCString.cc @@ -1172,7 +1172,7 @@ String * String::extractedSubjectAndKeepBracket(bool keepBracket) String * String::uuidString() { uuid_t uuid; -#ifdef __MACH__ +#ifdef _UUID_STRING_T uuid_string_t uuidString; #else char uuidString[37]; diff --git a/src/core/imap/MCIMAPSession.cc b/src/core/imap/MCIMAPSession.cc index d860d85c..b078391d 100644 --- a/src/core/imap/MCIMAPSession.cc +++ b/src/core/imap/MCIMAPSession.cc @@ -759,7 +759,13 @@ void IMAPSession::selectIfNeeded(String * folder, ErrorCode * pError) if (* pError != ErrorNone) return; - if (mState == STATE_LOGGEDIN) { + if (mState == STATE_SELECTED) { + MCAssert(mCurrentFolder != NULL); + if (mCurrentFolder->caseInsensitiveCompare(folder) != 0) { + select(folder, pError); + } + } + else if (mState == STATE_LOGGEDIN) { select(folder, pError); } else { diff --git a/src/objc/MCObjC.h b/src/objc/MCObjC.h index 0ed2520c..9c090273 100644 --- a/src/objc/MCObjC.h +++ b/src/objc/MCObjC.h @@ -18,6 +18,7 @@ #import <MailCore/MCORFC822.h> #import <MailCore/MCOPOP.h> #import <MailCore/MCOSMTP.h> +#import <MailCore/MCOProvider.h> #endif diff --git a/src/objc/imap/MCOIMAPMessage.h b/src/objc/imap/MCOIMAPMessage.h index bcc1b5a1..f0a1e0ec 100644 --- a/src/objc/imap/MCOIMAPMessage.h +++ b/src/objc/imap/MCOIMAPMessage.h @@ -11,6 +11,13 @@ #define __MAILCORE_MCOIMAPMESSAGE_H_ // This class implements an IMAP message. +// If you fetched the MIME structure of the message, you can fetch +// efficiently the content of the message by fetching only the parts +// that you need to show it. +// For example, you could fetch only the text parts to show the summary +// of the message, using -[MCOIMAPSession fetchMessageAttachmentByUIDOperationWithFolder:uid:partID:encoding:] +// You can also decide to fetch entirely the message using +// -[MCOIMAPSession fetchMessageByUIDOperationWithFolder:uid:] #import <MailCore/MCOAbstractMessage.h> #import <MailCore/MCOConstants.h> diff --git a/src/objc/imap/MCOIMAPSession.h b/src/objc/imap/MCOIMAPSession.h index 3849b32e..99d67532 100644 --- a/src/objc/imap/MCOIMAPSession.h +++ b/src/objc/imap/MCOIMAPSession.h @@ -339,6 +339,7 @@ // Returns an operation to fetch an attachment. // The operation needs to be started. // +// Example 1: // { // ... // MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX" @@ -349,6 +350,17 @@ // ... // }]; // +// Example 2: +// { +// ... +// MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX" +// uid:[message uid] +// partID:[part partID] +// encoding:[part encoding]]; +// [op start:^(NSError * error, NSData * partData) { +// ... +// }]; +// - (MCOIMAPFetchContentOperation *) fetchMessageAttachmentByUIDOperationWithFolder:(NSString *)folder uid:(uint32_t)uid partID:(NSString *)partID diff --git a/src/objc/provider/MCONetService.mm b/src/objc/provider/MCONetService.mm index 222daa15..2ba455aa 100644 --- a/src/objc/provider/MCONetService.mm +++ b/src/objc/provider/MCONetService.mm @@ -19,6 +19,11 @@ #define nativeType mailcore::NetService ++ (void) load +{ + MCORegisterClass(self, &typeid(nativeType)); +} + - (mailcore::Object *) mco_mcObject { return _netService; diff --git a/src/objc/provider/MCOProvider.h b/src/objc/provider/MCOProvider.h new file mode 100644 index 00000000..09f2cb05 --- /dev/null +++ b/src/objc/provider/MCOProvider.h @@ -0,0 +1,17 @@ +// +// MCOPROVIDER.h +// mailcore2 +// +// Created by Pushkar Singh on 5/24/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#ifndef _MAILCORE__MCOPROVIDER_h +#define _MAILCORE__MCOPROVIDER_h + + +#import <MailCore/MCONetService.h> +#import <MailCore/MCOMailProvider.h> +#import <MailCore/MCOMailProvidersManager.h> + +#endif diff --git a/src/objc/rfc822/MCOMessageBuilder.h b/src/objc/rfc822/MCOMessageBuilder.h index a2131d05..a01e3350 100644 --- a/src/objc/rfc822/MCOMessageBuilder.h +++ b/src/objc/rfc822/MCOMessageBuilder.h @@ -13,6 +13,9 @@ #import <MailCore/MCOAbstractMessage.h> // This class will allow you to build a RFC 822 formatted message. +// For example when you need to send a message using SMTP, +// you need to generate first a RFC 822 formatted message. +// This class will help you do that. /* diff --git a/src/objc/rfc822/MCOMessageParser.h b/src/objc/rfc822/MCOMessageParser.h index dc59973f..c0df2fbb 100644 --- a/src/objc/rfc822/MCOMessageParser.h +++ b/src/objc/rfc822/MCOMessageParser.h @@ -10,6 +10,10 @@ #define __MAILCORE_MCOMESSAGEPARSER_H_ +// This class implements a parsed message. +// When the full content of a message has been fetched using POP or IMAP, +// you need to parse it. + #import <MailCore/MCOAbstractMessage.h> @protocol MCOHTMLRendererDelegate; |