aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Oliver Rickard <ocrickard@gmail.com>2013-05-28 14:29:15 -0700
committerGravatar Oliver Rickard <ocrickard@gmail.com>2013-05-28 14:29:15 -0700
commitfbd06946aa6d5feddcc7c6a4221987910d205c00 (patch)
treef716ba9c731e1185d3d7ca707c52737f34946fe0
parent88e6c0e7550537b03b6c4fa89eebc5237061320b (diff)
parente0a977625868e7b3f8631cc8f6da5ecbff2ac031 (diff)
Merged in from mailcore master
-rw-r--r--README.md11
-rw-r--r--TODO.md1
-rw-r--r--build-mac/mailcore2.xcodeproj/project.pbxproj159
-rw-r--r--src/core/basetypes/MCString.cc2
-rw-r--r--src/core/imap/MCIMAPSession.cc8
-rw-r--r--src/objc/MCObjC.h1
-rw-r--r--src/objc/imap/MCOIMAPMessage.h7
-rw-r--r--src/objc/imap/MCOIMAPSession.h12
-rw-r--r--src/objc/provider/MCONetService.mm5
-rw-r--r--src/objc/provider/MCOProvider.h17
-rw-r--r--src/objc/rfc822/MCOMessageBuilder.h3
-rw-r--r--src/objc/rfc822/MCOMessageParser.h4
12 files changed, 157 insertions, 73 deletions
diff --git a/README.md b/README.md
index 070ac13b..4284275f 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/TODO.md b/TODO.md
index d33b27c4..1a8205ad 100644
--- a/TODO.md
+++ b/TODO.md
@@ -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;