From b547fa00319acce5333f5706c99798c0a8e709c0 Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Tue, 21 Oct 2014 17:32:26 -0600 Subject: MCNNTP -> NNTP --- build-mac/mailcore2.xcodeproj/project.pbxproj | 40 +++++++++++++++++++++------ 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 0f011a20..3f097d99 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -558,6 +558,14 @@ 84B639F417F2839C003B5BA2 /* MCIMAPNoopOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84B639EC17F280F3003B5BA2 /* MCIMAPNoopOperation.h */; }; 84B639F517F2839C003B5BA2 /* MCPOPNoopOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84B639E717F27EBD003B5BA2 /* MCPOPNoopOperation.h */; }; 84B639F617F2839C003B5BA2 /* MCSMTPNoopOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84B639E217F279BB003B5BA2 /* MCSMTPNoopOperation.h */; }; + 84CFA98319F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */; }; + 84CFA98419F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */; }; + 84CFA98719F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98519F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc */; }; + 84CFA98819F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98519F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc */; }; + 84CFA98919F7168300FE35D2 /* MCNNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 84CFA98A19F7168400FE35D2 /* MCNNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84CFA98B19F716EE00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84CFA98C19F716EF00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 84D7372C199BF66C005124E5 /* MCNNTPAsyncSession.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7372A199BF66C005124E5 /* MCNNTPAsyncSession.cc */; }; 84D7372D199BF66C005124E5 /* MCNNTPAsyncSession.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7372A199BF66C005124E5 /* MCNNTPAsyncSession.cc */; }; 84D73730199BF704005124E5 /* MCNNTPOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7372E199BF704005124E5 /* MCNNTPOperation.cc */; }; @@ -1834,19 +1842,23 @@ 84B639EC17F280F3003B5BA2 /* MCIMAPNoopOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCIMAPNoopOperation.h; sourceTree = ""; }; 84B639EF17F282B4003B5BA2 /* MCOPOPNoopOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCOPOPNoopOperation.h; sourceTree = ""; }; 84B639F017F282B4003B5BA2 /* MCOPOPNoopOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCOPOPNoopOperation.mm; sourceTree = ""; }; - 84D73729199BF63F005124E5 /* MCAsyncNNTP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCAsyncNNTP.h; sourceTree = ""; }; - 84D7372A199BF66C005124E5 /* MCNNTPAsyncSession.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPAsyncSession.cc; sourceTree = ""; }; + 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchOverviewOperation.h; sourceTree = ""; }; + 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchOverviewOperation.mm; sourceTree = ""; }; + 84CFA98519F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchOverviewOperation.cc; sourceTree = ""; }; + 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchOverviewOperation.h; sourceTree = ""; }; + 84D73729199BF63F005124E5 /* MCAsyncNNTP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MCAsyncNNTP.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 84D7372A199BF66C005124E5 /* MCNNTPAsyncSession.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = MCNNTPAsyncSession.cc; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; 84D7372B199BF66C005124E5 /* MCNNTPAsyncSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPAsyncSession.h; sourceTree = ""; }; 84D7372E199BF704005124E5 /* MCNNTPOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPOperation.cc; sourceTree = ""; }; 84D7372F199BF704005124E5 /* MCNNTPOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPOperation.h; sourceTree = ""; }; 84D73732199BF754005124E5 /* MCNNTPProgressCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCNNTPProgressCallback.h; path = nntp/MCNNTPProgressCallback.h; sourceTree = ""; }; 84D73735199BF7F2005124E5 /* MCNNTPFetchHeaderOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchHeaderOperation.cc; sourceTree = ""; }; 84D73736199BF7F2005124E5 /* MCNNTPFetchHeaderOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchHeaderOperation.h; sourceTree = ""; }; - 84D7373B199BF83B005124E5 /* MCNNTPFetchArticleOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchArticleOperation.cc; sourceTree = ""; }; - 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchArticleOperation.h; sourceTree = ""; }; + 84D7373B199BF83B005124E5 /* MCNNTPFetchArticleOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = MCNNTPFetchArticleOperation.cc; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; + 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MCNNTPFetchArticleOperation.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D7373F199BF887005124E5 /* MCNNTPOperationCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPOperationCallback.h; sourceTree = ""; }; - 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchArticlesOperation.cc; sourceTree = ""; }; - 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchArticlesOperation.h; sourceTree = ""; }; + 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = MCNNTPFetchArticlesOperation.cc; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; + 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MCNNTPFetchArticlesOperation.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPCheckAccountOperation.cc; sourceTree = ""; }; 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPCheckAccountOperation.h; sourceTree = ""; }; 84D73756199BFC8A005124E5 /* MCNNTPDisconnectOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPDisconnectOperation.cc; sourceTree = ""; }; @@ -1855,7 +1867,7 @@ 84D7375B199BFDCA005124E5 /* MCNNTPListNewsgroupsOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPListNewsgroupsOperation.h; sourceTree = ""; }; 84D73761199BFF80005124E5 /* MCONNTP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTP.h; sourceTree = ""; }; 84D73762199BFFC7005124E5 /* MCONNTPSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPSession.h; sourceTree = ""; }; - 84D73763199BFFC7005124E5 /* MCONNTPSession.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPSession.mm; sourceTree = ""; }; + 84D73763199BFFC7005124E5 /* MCONNTPSession.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = MCONNTPSession.mm; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D73766199BFFFC005124E5 /* MCONNTPOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPOperation.h; sourceTree = ""; }; 84D73767199BFFFC005124E5 /* MCONNTPOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPOperation.mm; sourceTree = ""; }; 84D7376A199C0014005124E5 /* MCONNTPOperation+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MCONNTPOperation+Private.h"; sourceTree = ""; }; @@ -1864,7 +1876,7 @@ 84D7376F199C007E005124E5 /* MCONNTPFetchArticleOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchArticleOperation.h; sourceTree = ""; }; 84D73770199C007E005124E5 /* MCONNTPFetchArticleOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchArticleOperation.mm; sourceTree = ""; }; 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchArticlesOperation.h; sourceTree = ""; }; - 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchArticlesOperation.mm; sourceTree = ""; }; + 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = MCONNTPFetchArticlesOperation.mm; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D73789199C0260005124E5 /* MCONNTPListNewsgroupsOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPListNewsgroupsOperation.h; sourceTree = ""; }; 84D7378A199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPListNewsgroupsOperation.mm; sourceTree = ""; }; 84D7378D199C02A8005124E5 /* MCONNTPDisconnectOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPDisconnectOperation.h; sourceTree = ""; }; @@ -2405,6 +2417,8 @@ 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */, 84D7375A199BFDCA005124E5 /* MCNNTPListNewsgroupsOperation.cc */, 84D7375B199BFDCA005124E5 /* MCNNTPListNewsgroupsOperation.h */, + 84CFA98519F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc */, + 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */, 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */, 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */, 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */, @@ -2433,6 +2447,8 @@ 84D73770199C007E005124E5 /* MCONNTPFetchArticleOperation.mm */, 84D73789199C0260005124E5 /* MCONNTPListNewsgroupsOperation.h */, 84D7378A199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm */, + 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */, + 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */, 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */, 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */, 84D7378D199C02A8005124E5 /* MCONNTPDisconnectOperation.h */, @@ -3143,6 +3159,7 @@ 27780E3819CFA3F500C77E44 /* MCOPOPFetchMessageOperation.h in Headers */, 27780E3919CFA3F500C77E44 /* MCOPOPFetchMessagesOperation.h in Headers */, 27780E3A19CFA3F500C77E44 /* MCOPOPNoopOperation.h in Headers */, + 84CFA98B19F716EE00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */, 27780E3B19CFA3F500C77E44 /* MCOPOPMessageInfo.h in Headers */, 27780E3C19CFA3F500C77E44 /* MCOSMTP.h in Headers */, 27780E3D19CFA3F500C77E44 /* MCOSMTPSession.h in Headers */, @@ -3167,6 +3184,7 @@ 27780E5519CFA3F600C77E44 /* MCOConstants.h in Headers */, 27780E5619CFA3F600C77E44 /* MCOMessageHeader.h in Headers */, 27780E5819CFA3F600C77E44 /* MCOHTMLRendererDelegate.h in Headers */, + 84CFA98A19F7168400FE35D2 /* MCNNTPFetchOverviewOperation.h in Headers */, 27780E5919CFA3F600C77E44 /* MCOHTMLRendererIMAPDelegate.h in Headers */, 27780E5A19CFA3F600C77E44 /* MCOAbstractMessageRendererCallback.h in Headers */, 27780E5B19CFA3F600C77E44 /* MCOIMAP.h in Headers */, @@ -3402,6 +3420,7 @@ 27780D4419CFA32900C77E44 /* MCOSMTPOperation.h in Headers */, 27780D4619CFA32900C77E44 /* MCONNTP.h in Headers */, 27780D4719CFA32900C77E44 /* MCONNTPSession.h in Headers */, + 84CFA98C19F716EF00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */, 27780D4819CFA32900C77E44 /* MCONNTPOperation.h in Headers */, 27780D4A19CFA32900C77E44 /* MCONNTPFetchHeaderOperation.h in Headers */, 27780D4B19CFA32900C77E44 /* MCONNTPFetchArticleOperation.h in Headers */, @@ -3426,6 +3445,7 @@ 27780D6219CFA32A00C77E44 /* MCOIMAPMessage.h in Headers */, 27780D6319CFA32A00C77E44 /* MCOIMAPMessagePart.h in Headers */, 27780D6419CFA32A00C77E44 /* MCOIMAPMultipart.h in Headers */, + 84CFA98919F7168300FE35D2 /* MCNNTPFetchOverviewOperation.h in Headers */, 27780D6519CFA32A00C77E44 /* MCOIMAPNamespace.h in Headers */, 27780D6619CFA32A00C77E44 /* MCOIMAPNamespaceItem.h in Headers */, 27780D6719CFA32A00C77E44 /* MCOIMAPPart.h in Headers */, @@ -3902,6 +3922,7 @@ C64EA704169E847800778456 /* MCArray.cc in Sources */, C6E665B51796500B0063F2CF /* MCZip.cc in Sources */, 84B639E317F279BB003B5BA2 /* MCSMTPNoopOperation.cc in Sources */, + 84CFA98319F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm in Sources */, C64EA706169E847800778456 /* MCAssert.c in Sources */, 84D73793199C0511005124E5 /* MCONNTPGroupInfo.mm in Sources */, C64EA708169E847800778456 /* MCData.cc in Sources */, @@ -4066,6 +4087,7 @@ C6D6F954171E5CB8006F5B28 /* MCMD5.cc in Sources */, C6D6F956171E5CB8006F5B28 /* MCNull.cc in Sources */, C6D6F967171FCF9F006F5B28 /* MCJSONParser.cc in Sources */, + 84CFA98719F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc in Sources */, 84D73768199BFFFC005124E5 /* MCONNTPOperation.mm in Sources */, C668E2C71735C8D500A2BB47 /* MCObjectMac.mm in Sources */, C668E2CC1735CB8900A2BB47 /* MCAutoreleasePoolMac.mm in Sources */, @@ -4126,6 +4148,7 @@ C6BA2BA01705F4E6003F0E9E /* MCArray.cc in Sources */, C6E665B61796500B0063F2CF /* MCZip.cc in Sources */, 84B639E417F279BB003B5BA2 /* MCSMTPNoopOperation.cc in Sources */, + 84CFA98419F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm in Sources */, C6BA2BA11705F4E6003F0E9E /* MCAssert.c in Sources */, 84D73794199C0511005124E5 /* MCONNTPGroupInfo.mm in Sources */, C6BA2BA21705F4E6003F0E9E /* MCData.cc in Sources */, @@ -4290,6 +4313,7 @@ C6D6F7FA171E595D006F5B28 /* MCJSON.cc in Sources */, C6D6F955171E5CB8006F5B28 /* MCMD5.cc in Sources */, C6D6F957171E5CB8006F5B28 /* MCNull.cc in Sources */, + 84CFA98819F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc in Sources */, C6D6F968171FCF9F006F5B28 /* MCJSONParser.cc in Sources */, 84D73769199BFFFC005124E5 /* MCONNTPOperation.mm in Sources */, C668E2C81735C8D500A2BB47 /* MCObjectMac.mm in Sources */, -- cgit v1.2.3 From 13170ec5e2a8317559e54fb6afd02cdfbe847aca Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Tue, 21 Oct 2014 17:48:43 -0600 Subject: Server Time Operations --- build-mac/mailcore2.xcodeproj/project.pbxproj | 24 ++++++++ src/async/nntp/MCAsyncNNTP.h | 1 + src/async/nntp/MCNNTPAsyncSession.cc | 9 +++ src/async/nntp/MCNNTPAsyncSession.h | 3 + src/async/nntp/MCNNTPFetchServerTimeOperation.cpp | 34 +++++++++++ src/async/nntp/MCNNTPFetchServerTimeOperation.h | 37 ++++++++++++ src/cmake/async.cmake | 1 + src/cmake/objc.cmake | 1 + src/cmake/public-headers.cmake | 2 + src/core/nntp/MCNNTPSession.cc | 2 +- src/core/nntp/MCNNTPSession.h | 4 +- src/objc/nntp/MCONNTP.h | 1 + src/objc/nntp/MCONNTPFetchServerTimeOperation.h | 35 ++++++++++++ src/objc/nntp/MCONNTPFetchServerTimeOperation.mm | 70 +++++++++++++++++++++++ src/objc/nntp/MCONNTPSession.h | 10 ++++ src/objc/nntp/MCONNTPSession.mm | 5 ++ 16 files changed, 236 insertions(+), 3 deletions(-) create mode 100644 src/async/nntp/MCNNTPFetchServerTimeOperation.cpp create mode 100644 src/async/nntp/MCNNTPFetchServerTimeOperation.h create mode 100644 src/objc/nntp/MCONNTPFetchServerTimeOperation.h create mode 100644 src/objc/nntp/MCONNTPFetchServerTimeOperation.mm (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 3f097d99..8d3f78ee 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -566,6 +566,14 @@ 84CFA98A19F7168400FE35D2 /* MCNNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 84CFA98B19F716EE00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 84CFA98C19F716EF00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 84CFA98F19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */; }; + 84CFA99019F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */; }; + 84CFA99119F725AF00FE35D2 /* MCNNTPFetchServerTimeOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84CFA99219F725B000FE35D2 /* MCNNTPFetchServerTimeOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 84CFA99519F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA99419F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm */; }; + 84CFA99619F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA99419F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm */; }; + 84CFA99719F725D300FE35D2 /* MCONNTPFetchServerTimeOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84CFA99819F725D400FE35D2 /* MCONNTPFetchServerTimeOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 84D7372C199BF66C005124E5 /* MCNNTPAsyncSession.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7372A199BF66C005124E5 /* MCNNTPAsyncSession.cc */; }; 84D7372D199BF66C005124E5 /* MCNNTPAsyncSession.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7372A199BF66C005124E5 /* MCNNTPAsyncSession.cc */; }; 84D73730199BF704005124E5 /* MCNNTPOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7372E199BF704005124E5 /* MCNNTPOperation.cc */; }; @@ -1846,6 +1854,10 @@ 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchOverviewOperation.mm; sourceTree = ""; }; 84CFA98519F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchOverviewOperation.cc; sourceTree = ""; }; 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchOverviewOperation.h; sourceTree = ""; }; + 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchServerTimeOperation.cpp; sourceTree = ""; }; + 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchServerTimeOperation.h; sourceTree = ""; }; + 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchServerTimeOperation.h; sourceTree = ""; }; + 84CFA99419F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchServerTimeOperation.mm; sourceTree = ""; }; 84D73729199BF63F005124E5 /* MCAsyncNNTP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MCAsyncNNTP.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D7372A199BF66C005124E5 /* MCNNTPAsyncSession.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = MCNNTPAsyncSession.cc; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; 84D7372B199BF66C005124E5 /* MCNNTPAsyncSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPAsyncSession.h; sourceTree = ""; }; @@ -2421,6 +2433,8 @@ 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */, 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */, 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */, + 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */, + 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */, 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */, 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */, 84D73756199BFC8A005124E5 /* MCNNTPDisconnectOperation.cc */, @@ -2451,6 +2465,8 @@ 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */, 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */, 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */, + 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */, + 84CFA99419F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm */, 84D7378D199C02A8005124E5 /* MCONNTPDisconnectOperation.h */, 84D7378E199C02A8005124E5 /* MCONNTPDisconnectOperation.mm */, 84D73791199C0511005124E5 /* MCONNTPGroupInfo.h */, @@ -3233,8 +3249,10 @@ 27780E8919CFA3FA00C77E44 /* NSIndexSet+MCO.h in Headers */, 27780E8A19CFA3FA00C77E44 /* NSSet+MCO.h in Headers */, 27780E8B19CFA3FA00C77E44 /* MCOMailProvider.h in Headers */, + 84CFA99119F725AF00FE35D2 /* MCNNTPFetchServerTimeOperation.h in Headers */, 27780E8C19CFA3FA00C77E44 /* MCOMailProvidersManager.h in Headers */, 27780E8D19CFA3FA00C77E44 /* MCONetService.h in Headers */, + 84CFA99719F725D300FE35D2 /* MCONNTPFetchServerTimeOperation.h in Headers */, 27780E8E19CFA3FA00C77E44 /* MCOProvider.h in Headers */, 27780E8F19CFA3FA00C77E44 /* MCObjC.h in Headers */, 27780E9019CFA3FA00C77E44 /* MCAsyncIMAP.h in Headers */, @@ -3494,8 +3512,10 @@ 27780D9519CFA32E00C77E44 /* MCOMailProvider.h in Headers */, 27780D9619CFA32E00C77E44 /* MCOMailProvidersManager.h in Headers */, 27780D9719CFA32F00C77E44 /* MCONetService.h in Headers */, + 84CFA99219F725B000FE35D2 /* MCNNTPFetchServerTimeOperation.h in Headers */, 27780D9819CFA32F00C77E44 /* MCOProvider.h in Headers */, 27780D9919CFA32F00C77E44 /* MCObjC.h in Headers */, + 84CFA99819F725D400FE35D2 /* MCONNTPFetchServerTimeOperation.h in Headers */, 27780D9A19CFA32F00C77E44 /* MCAsyncIMAP.h in Headers */, 27780D9B19CFA32F00C77E44 /* MCIMAPAsyncConnection.h in Headers */, 27780D9C19CFA32F00C77E44 /* MCIMAPAsyncSession.h in Headers */, @@ -3942,6 +3962,7 @@ C64EA727169E847800778456 /* MCIMAPMessagePart.cc in Sources */, 84D73775199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm in Sources */, C64EA729169E847800778456 /* MCIMAPMultipart.cc in Sources */, + 84CFA99519F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm in Sources */, C64EA72B169E847800778456 /* MCIMAPNamespace.cc in Sources */, C64EA72D169E847800778456 /* MCIMAPNamespaceItem.cc in Sources */, C64EA72F169E847800778456 /* MCIMAPPart.cc in Sources */, @@ -4021,6 +4042,7 @@ C63CD68116BDCDD400DB18F1 /* MCHTMLRenderer.cc in Sources */, C63CD68216BDCDD400DB18F1 /* MCSizeFormatter.cc in Sources */, C63CD68616BE148B00DB18F1 /* MCHTMLRendererCallback.cc in Sources */, + 84CFA98F19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */, C63CD69116BE566E00DB18F1 /* MCHTMLCleaner.cc in Sources */, C64BB22116E34DCB000DB34C /* MCIMAPSyncResult.cc in Sources */, C64BB22B16E5C0A4000DB34C /* MCIMAPCapabilityOperation.cc in Sources */, @@ -4168,6 +4190,7 @@ C6BA2BAF1705F4E6003F0E9E /* MCIMAPMessage.cc in Sources */, C6BA2BB01705F4E6003F0E9E /* MCIMAPMessagePart.cc in Sources */, 84D73776199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm in Sources */, + 84CFA99619F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm in Sources */, C6BA2BB11705F4E6003F0E9E /* MCIMAPMultipart.cc in Sources */, C6BA2BB21705F4E6003F0E9E /* MCIMAPNamespace.cc in Sources */, C6BA2BB31705F4E6003F0E9E /* MCIMAPNamespaceItem.cc in Sources */, @@ -4247,6 +4270,7 @@ C6BA2BE81705F4E6003F0E9E /* MCDateFormatter.cc in Sources */, C6BA2BE91705F4E6003F0E9E /* MCHTMLRenderer.cc in Sources */, C6BA2BEA1705F4E6003F0E9E /* MCSizeFormatter.cc in Sources */, + 84CFA99019F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */, C6BA2BEB1705F4E6003F0E9E /* MCHTMLRendererCallback.cc in Sources */, C6BA2BEC1705F4E6003F0E9E /* MCHTMLCleaner.cc in Sources */, C6BA2BED1705F4E6003F0E9E /* MCIMAPSyncResult.cc in Sources */, diff --git a/src/async/nntp/MCAsyncNNTP.h b/src/async/nntp/MCAsyncNNTP.h index 618cd3d0..4bc85241 100644 --- a/src/async/nntp/MCAsyncNNTP.h +++ b/src/async/nntp/MCAsyncNNTP.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #endif diff --git a/src/async/nntp/MCNNTPAsyncSession.cc b/src/async/nntp/MCNNTPAsyncSession.cc index f250a23e..b14e1970 100644 --- a/src/async/nntp/MCNNTPAsyncSession.cc +++ b/src/async/nntp/MCNNTPAsyncSession.cc @@ -15,6 +15,7 @@ #include "MCNNTPListNewsgroupsOperation.h" #include "MCNNTPFetchOverviewOperation.h" #include "MCNNTPCheckAccountOperation.h" +#include "MCNNTPFetchServerTimeOperation.h" #include "MCNNTPDisconnectOperation.h" #include "MCOperationQueueCallback.h" #include "MCConnectionLogger.h" @@ -203,6 +204,14 @@ NNTPFetchOverviewOperation * NNTPAsyncSession::fetchOverviewOperationWithIndexes return op; } +NNTPFetchServerTimeOperation * NNTPAsyncSession::fetchServerTimeOperation() +{ + NNTPFetchServerTimeOperation * op = new NNTPFetchServerTimeOperation(); + op->setSession(this); + op->autorelease(); + return op; +} + NNTPListNewsgroupsOperation * NNTPAsyncSession::listAllNewsgroupsOperation() { NNTPListNewsgroupsOperation * op = new NNTPListNewsgroupsOperation(); diff --git a/src/async/nntp/MCNNTPAsyncSession.h b/src/async/nntp/MCNNTPAsyncSession.h index b0686614..c92e09ee 100644 --- a/src/async/nntp/MCNNTPAsyncSession.h +++ b/src/async/nntp/MCNNTPAsyncSession.h @@ -15,6 +15,7 @@ namespace mailcore { class NNTPFetchArticlesOperation; class NNTPFetchOverviewOperation; class NNTPListNewsgroupsOperation; + class NNTPFetchServerTimeOperation; class NNTPOperationQueueCallback; class NNTPConnectionLogger; @@ -61,6 +62,8 @@ namespace mailcore { virtual NNTPFetchOverviewOperation * fetchOverviewOperationWithIndexes(String * groupName, IndexSet * indexes); + virtual NNTPFetchServerTimeOperation * fetchServerTimeOperation(); + virtual NNTPListNewsgroupsOperation * listAllNewsgroupsOperation(); virtual NNTPListNewsgroupsOperation * listDefaultNewsgroupsOperation(); diff --git a/src/async/nntp/MCNNTPFetchServerTimeOperation.cpp b/src/async/nntp/MCNNTPFetchServerTimeOperation.cpp new file mode 100644 index 00000000..a2729f48 --- /dev/null +++ b/src/async/nntp/MCNNTPFetchServerTimeOperation.cpp @@ -0,0 +1,34 @@ +// +// MCNNTPFetchServerTimeOperation.cpp +// mailcore2 +// +// Created by Robert Widmann on 10/21/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#include "MCNNTPFetchServerTimeOperation.h" + +#include "MCNNTPAsyncSession.h" +#include "MCNNTPSession.h" + +using namespace mailcore; + +NNTPFetchServerTimeOperation::NNTPFetchServerTimeOperation() +{ +} + +NNTPFetchServerTimeOperation::~NNTPFetchServerTimeOperation() +{ +} + +time_t NNTPFetchServerTimeOperation::time() +{ + return mTime; +} + +void NNTPFetchServerTimeOperation::main() +{ + ErrorCode error; + mTime = session()->session()->fetchServerClockTime(&error); + setError(error); +} diff --git a/src/async/nntp/MCNNTPFetchServerTimeOperation.h b/src/async/nntp/MCNNTPFetchServerTimeOperation.h new file mode 100644 index 00000000..22cebf25 --- /dev/null +++ b/src/async/nntp/MCNNTPFetchServerTimeOperation.h @@ -0,0 +1,37 @@ +// +// MCNNTPFetchServerTimeOperation.h +// mailcore2 +// +// Created by Robert Widmann on 10/21/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#ifndef MAILCORE_MCNNTPFETCHSERVERTIMEOPERATION_H + +#define MAILCORE_MCNNTPFETCHSERVERTIMEOPERATION_H + +#include + +#ifdef __cplusplus + +namespace mailcore { + + class NNTPFetchServerTimeOperation : public NNTPOperation { + public: + NNTPFetchServerTimeOperation(); + virtual ~NNTPFetchServerTimeOperation(); + + virtual time_t time(); + + public: // subclass behavior + virtual void main(); + + private: + time_t mTime; + }; + +} + +#endif + +#endif diff --git a/src/cmake/async.cmake b/src/cmake/async.cmake index 22a7d1ba..43cced00 100644 --- a/src/cmake/async.cmake +++ b/src/cmake/async.cmake @@ -61,6 +61,7 @@ set(async_nntp_files async/nntp/MCNNTPFetchHeaderOperation.cc async/nntp/MCNNTPListNewsgroupsOperation.cc async/nntp/MCNNTPFetchOverviewOperation.cc + async/nntp/MCNNTPFetchServerTimeOperation.cc async/nntp/MCNNTPOperation.cc ) diff --git a/src/cmake/objc.cmake b/src/cmake/objc.cmake index f9e11b42..72d50147 100644 --- a/src/cmake/objc.cmake +++ b/src/cmake/objc.cmake @@ -82,6 +82,7 @@ set(objc_nntp_files objc/nntp/MCONNTPGroupInfo.mm objc/nntp/MCONNTPListNewsgroupsOperation.mm objc/nntp/MCONNTPFetchOverviewOperation.mm + objc/nntp/MCONNTPFetchServerTimeOperation.mm objc/nntp/MCONNTPOperation.mm objc/nntp/MCONNTPSession.mm ) diff --git a/src/cmake/public-headers.cmake b/src/cmake/public-headers.cmake index 5c1c6b79..0050aadf 100644 --- a/src/cmake/public-headers.cmake +++ b/src/cmake/public-headers.cmake @@ -114,6 +114,7 @@ async/nntp/MCNNTPListNewsgroupsOperation.h async/nntp/MCNNTPFetchOverviewOperation.h async/nntp/MCNNTPOperation.h async/nntp/MCNNTPOperationCallback.h +async/nntp/MCNNTPFetchServerTimeOperation.h objc/MCObjC.h objc/utils/MCOUtils.h objc/utils/MCOObjectWrapper.h @@ -195,6 +196,7 @@ objc/nntp/MCONNTPFetchHeaderOperation.mm objc/nntp/MCONNTPGroupInfo.h objc/nntp/MCONNTPListNewsgroupsOperation.h objc/nntp/MCONNTPFetchOverviewOperation.h +objc/nntp/MCONNTPFetchServerTimeOperation.h objc/nntp/MCONNTPOperation.h objc/nntp/MCONNTPSession.h objc/provider/MCOProvider.h diff --git a/src/core/nntp/MCNNTPSession.cc b/src/core/nntp/MCNNTPSession.cc index 2374da41..f573c5dd 100644 --- a/src/core/nntp/MCNNTPSession.cc +++ b/src/core/nntp/MCNNTPSession.cc @@ -507,7 +507,7 @@ Data * NNTPSession::fetchArticleByMessageID(String * groupName, String * message return result; } -time_t NNTPSession::fetchServerClock(ErrorCode * pError) { +time_t NNTPSession::fetchServerClockTime(ErrorCode * pError) { int r; struct tm time; time_t result; diff --git a/src/core/nntp/MCNNTPSession.h b/src/core/nntp/MCNNTPSession.h index 84a6fb4e..607f58cf 100644 --- a/src/core/nntp/MCNNTPSession.h +++ b/src/core/nntp/MCNNTPSession.h @@ -49,13 +49,13 @@ namespace mailcore { virtual MessageHeader * fetchHeader(String * groupName, unsigned int index, ErrorCode * pError); virtual Array /*MessageHeader*/ * fetchOverArticlesInRange(Range range, String * groupname, ErrorCode * pError); - + virtual IndexSet * fetchAllArticles(String * groupname, ErrorCode * pError); virtual Data * fetchArticle(String *groupName, unsigned int index, NNTPProgressCallback * callback, ErrorCode * pError); virtual Data * fetchArticleByMessageID(String * groupname, String * messageID, ErrorCode * pError); - virtual time_t fetchServerClock(ErrorCode * pError); + virtual time_t fetchServerClockTime(ErrorCode * pError); virtual void setConnectionLogger(ConnectionLogger * logger); virtual ConnectionLogger * connectionLogger(); diff --git a/src/objc/nntp/MCONNTP.h b/src/objc/nntp/MCONNTP.h index 7e2f1072..364db25b 100644 --- a/src/objc/nntp/MCONNTP.h +++ b/src/objc/nntp/MCONNTP.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #endif diff --git a/src/objc/nntp/MCONNTPFetchServerTimeOperation.h b/src/objc/nntp/MCONNTPFetchServerTimeOperation.h new file mode 100644 index 00000000..a06dd746 --- /dev/null +++ b/src/objc/nntp/MCONNTPFetchServerTimeOperation.h @@ -0,0 +1,35 @@ +// +// MCONNTPFetchServerTimeOperation.h +// mailcore2 +// +// Created by Robert Widmann on 10/21/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#ifndef MAILCORE_MCONNTPFETCHSERVERTIMEOPERATION_H + +#define MAILCORE_MCONNTPFETCHSERVERTIMEOPERATION_H + +#import +#import + +@class MCOIndexSet; + +/** This is an asynchronous operation that will fetch the list of a messages on the NNTP server. */ +@interface MCONNTPFetchServerTimeOperation : MCONNTPOperation + +/** + Starts the asynchronous fetch operation. + + @param completionBlock Called when the operation is finished. + + - On success `error` will be nil and `date` will be the server's date and time as an NSDate. + + - On failure, `error` will be set with `MCOErrorDomain` as domain and an + error code available in MCOConstants.h, `messages` will be null + */ +- (void) start:(void (^)(NSError * error, NSDate * date))completionBlock; + +@end + +#endif diff --git a/src/objc/nntp/MCONNTPFetchServerTimeOperation.mm b/src/objc/nntp/MCONNTPFetchServerTimeOperation.mm new file mode 100644 index 00000000..a2f51f91 --- /dev/null +++ b/src/objc/nntp/MCONNTPFetchServerTimeOperation.mm @@ -0,0 +1,70 @@ +// +// MCONNTPFetchServerTimeOperation.m +// mailcore2 +// +// Created by Robert Widmann on 10/21/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#import "MCONNTPFetchServerTimeOperation.h" + +#include "MCAsyncNNTP.h" + +#import "MCOOperation+Private.h" +#import "MCOUtils.h" + +typedef void (^CompletionType)(NSError *error, NSDate * date); + +@implementation MCONNTPFetchServerTimeOperation { + CompletionType _completionBlock; +} + +#define nativeType mailcore::NNTPFetchServerTimeOperation + ++ (void) load +{ + MCORegisterClass(self, &typeid(nativeType)); +} + ++ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object +{ + nativeType * op = (nativeType *) object; + return [[[self alloc] initWithMCOperation:op] autorelease]; +} + +- (void) dealloc +{ + [_completionBlock release]; + [super dealloc]; +} + +- (void) start:(void (^)(NSError *error, NSDate * date))completionBlock +{ + _completionBlock = [completionBlock copy]; + [self start]; +} + +- (void) cancel +{ + [_completionBlock release]; + _completionBlock = nil; + [super cancel]; +} + +- (void) operationCompleted +{ + if (_completionBlock == NULL) + return; + + nativeType *op = MCO_NATIVE_INSTANCE; + if (op->error() == mailcore::ErrorNone) { + _completionBlock(nil, [NSDate dateWithTimeIntervalSince1970:op->time()]); + } else { + _completionBlock([NSError mco_errorWithErrorCode:op->error()], nil); + } + [_completionBlock release]; + _completionBlock = nil; +} + + +@end diff --git a/src/objc/nntp/MCONNTPSession.h b/src/objc/nntp/MCONNTPSession.h index c5fb04cc..63e7467b 100644 --- a/src/objc/nntp/MCONNTPSession.h +++ b/src/objc/nntp/MCONNTPSession.h @@ -21,6 +21,7 @@ @class MCONNTPFetchArticleOperation; @class MCONNTPListNewsgroupsOperation; @class MCONNTPFetchOverviewOperation; +@class MCONNTPFetchServerTimeOperation; @class MCONNTPOperation; @class MCOIndexSet; @@ -116,6 +117,15 @@ */ - (MCONNTPFetchArticleOperation *) fetchArticleOperationWithMessageID:(NSString *)messageID inGroup:(NSString *)group; +/** + Returns an operation that will fetch the server's date and time. + + MCONNTPFetchArticleOperation * op = [session fetchServerTimeOperation]; + [op start:^(NSError * error, NSDate * serverTime) { + }]; + */ +- (MCONNTPFetchServerTimeOperation *) fetchServerTimeOperation; + /** Returns an operation that will list all available newsgroups. diff --git a/src/objc/nntp/MCONNTPSession.mm b/src/objc/nntp/MCONNTPSession.mm index 094c5886..b9d3573c 100644 --- a/src/objc/nntp/MCONNTPSession.mm +++ b/src/objc/nntp/MCONNTPSession.mm @@ -150,6 +150,11 @@ MCO_OBJC_SYNTHESIZE_SCALAR(dispatch_queue_t, dispatch_queue_t, setDispatchQueue, return MCO_TO_OBJC_OP(coreOp); } +- (MCONNTPFetchServerTimeOperation *) fetchServerTimeOperation { + mailcore::NNTPFetchServerTimeOperation * coreOp = MCO_NATIVE_INSTANCE->fetchServerTimeOperation(); + return MCO_TO_OBJC_OP(coreOp); +} + - (MCONNTPListNewsgroupsOperation *) listAllNewsgroupsOperation { mailcore::NNTPListNewsgroupsOperation * coreOp = MCO_NATIVE_INSTANCE->listAllNewsgroupsOperation(); return MCO_TO_OBJC_OP(coreOp); -- cgit v1.2.3 From c26a7cef6b336ac8ee72061f0fff257415287cb9 Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Tue, 21 Oct 2014 18:03:21 -0600 Subject: cpp -> cc --- build-mac/mailcore2.xcodeproj/project.pbxproj | 12 ++++---- src/async/nntp/MCNNTPFetchServerTimeOperation.cc | 34 +++++++++++++++++++++++ src/async/nntp/MCNNTPFetchServerTimeOperation.cpp | 34 ----------------------- 3 files changed, 40 insertions(+), 40 deletions(-) create mode 100644 src/async/nntp/MCNNTPFetchServerTimeOperation.cc delete mode 100644 src/async/nntp/MCNNTPFetchServerTimeOperation.cpp (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 8d3f78ee..df80de2a 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -566,8 +566,8 @@ 84CFA98A19F7168400FE35D2 /* MCNNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 84CFA98B19F716EE00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 84CFA98C19F716EF00FE35D2 /* MCONNTPFetchOverviewOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 84CFA98F19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */; }; - 84CFA99019F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */; }; + 84CFA98F19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc */; }; + 84CFA99019F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc */; }; 84CFA99119F725AF00FE35D2 /* MCNNTPFetchServerTimeOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 84CFA99219F725B000FE35D2 /* MCNNTPFetchServerTimeOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 84CFA99519F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84CFA99419F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm */; }; @@ -1854,7 +1854,7 @@ 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchOverviewOperation.mm; sourceTree = ""; }; 84CFA98519F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchOverviewOperation.cc; sourceTree = ""; }; 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchOverviewOperation.h; sourceTree = ""; }; - 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchServerTimeOperation.cpp; sourceTree = ""; }; + 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPFetchServerTimeOperation.cc; sourceTree = ""; }; 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPFetchServerTimeOperation.h; sourceTree = ""; }; 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchServerTimeOperation.h; sourceTree = ""; }; 84CFA99419F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchServerTimeOperation.mm; sourceTree = ""; }; @@ -2433,7 +2433,7 @@ 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */, 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */, 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */, - 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp */, + 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc */, 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */, 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */, 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */, @@ -4042,7 +4042,7 @@ C63CD68116BDCDD400DB18F1 /* MCHTMLRenderer.cc in Sources */, C63CD68216BDCDD400DB18F1 /* MCSizeFormatter.cc in Sources */, C63CD68616BE148B00DB18F1 /* MCHTMLRendererCallback.cc in Sources */, - 84CFA98F19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */, + 84CFA98F19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc in Sources */, C63CD69116BE566E00DB18F1 /* MCHTMLCleaner.cc in Sources */, C64BB22116E34DCB000DB34C /* MCIMAPSyncResult.cc in Sources */, C64BB22B16E5C0A4000DB34C /* MCIMAPCapabilityOperation.cc in Sources */, @@ -4270,7 +4270,7 @@ C6BA2BE81705F4E6003F0E9E /* MCDateFormatter.cc in Sources */, C6BA2BE91705F4E6003F0E9E /* MCHTMLRenderer.cc in Sources */, C6BA2BEA1705F4E6003F0E9E /* MCSizeFormatter.cc in Sources */, - 84CFA99019F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cpp in Sources */, + 84CFA99019F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc in Sources */, C6BA2BEB1705F4E6003F0E9E /* MCHTMLRendererCallback.cc in Sources */, C6BA2BEC1705F4E6003F0E9E /* MCHTMLCleaner.cc in Sources */, C6BA2BED1705F4E6003F0E9E /* MCIMAPSyncResult.cc in Sources */, diff --git a/src/async/nntp/MCNNTPFetchServerTimeOperation.cc b/src/async/nntp/MCNNTPFetchServerTimeOperation.cc new file mode 100644 index 00000000..a2729f48 --- /dev/null +++ b/src/async/nntp/MCNNTPFetchServerTimeOperation.cc @@ -0,0 +1,34 @@ +// +// MCNNTPFetchServerTimeOperation.cpp +// mailcore2 +// +// Created by Robert Widmann on 10/21/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#include "MCNNTPFetchServerTimeOperation.h" + +#include "MCNNTPAsyncSession.h" +#include "MCNNTPSession.h" + +using namespace mailcore; + +NNTPFetchServerTimeOperation::NNTPFetchServerTimeOperation() +{ +} + +NNTPFetchServerTimeOperation::~NNTPFetchServerTimeOperation() +{ +} + +time_t NNTPFetchServerTimeOperation::time() +{ + return mTime; +} + +void NNTPFetchServerTimeOperation::main() +{ + ErrorCode error; + mTime = session()->session()->fetchServerClockTime(&error); + setError(error); +} diff --git a/src/async/nntp/MCNNTPFetchServerTimeOperation.cpp b/src/async/nntp/MCNNTPFetchServerTimeOperation.cpp deleted file mode 100644 index a2729f48..00000000 --- a/src/async/nntp/MCNNTPFetchServerTimeOperation.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// -// MCNNTPFetchServerTimeOperation.cpp -// mailcore2 -// -// Created by Robert Widmann on 10/21/14. -// Copyright (c) 2014 MailCore. All rights reserved. -// - -#include "MCNNTPFetchServerTimeOperation.h" - -#include "MCNNTPAsyncSession.h" -#include "MCNNTPSession.h" - -using namespace mailcore; - -NNTPFetchServerTimeOperation::NNTPFetchServerTimeOperation() -{ -} - -NNTPFetchServerTimeOperation::~NNTPFetchServerTimeOperation() -{ -} - -time_t NNTPFetchServerTimeOperation::time() -{ - return mTime; -} - -void NNTPFetchServerTimeOperation::main() -{ - ErrorCode error; - mTime = session()->session()->fetchServerClockTime(&error); - setError(error); -} -- cgit v1.2.3 From a921472d7c3ba501fb4163bfce8e178ac64f9511 Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Wed, 22 Oct 2014 17:56:20 -0600 Subject: Renaming and Fix Typos --- build-mac/mailcore2.xcodeproj/project.pbxproj | 4 +++- .../xcshareddata/xcschemes/mailcore osx.xcscheme | 11 ++++++++++- .../xcshareddata/xcschemes/static mailcore2 ios.xcscheme | 11 ++++++++++- .../xcshareddata/xcschemes/static mailcore2 osx.xcscheme | 11 ++++++++++- .../xcshareddata/xcschemes/test-ios.xcscheme | 2 +- .../xcshareddata/xcschemes/tests.xcscheme | 2 +- .../xcshareddata/xcschemes/unittest.xcscheme | 2 +- src/async/nntp/MCNNTPAsyncSession.cc | 2 +- src/async/nntp/MCNNTPAsyncSession.h | 2 +- src/async/nntp/MCNNTPFetchOverviewOperation.h | 2 +- src/async/nntp/MCNNTPFetchServerTimeOperation.cc | 2 +- src/core/abstract/MCMessageConstants.h | 2 +- src/core/nntp/MCNNTPSession.cc | 8 +++++--- src/core/nntp/MCNNTPSession.h | 4 ++-- src/objc/nntp/MCONNTPSession.h | 16 ++++++++-------- src/objc/nntp/MCONNTPSession.mm | 4 ++-- 16 files changed, 58 insertions(+), 27 deletions(-) (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 9b312f28..117cc83b 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -3861,7 +3861,7 @@ C64EA52E169E772200778456 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0510; + LastUpgradeCheck = 0610; ORGANIZATIONNAME = MailCore; TargetAttributes = { C6B5AE0119F630B3001352A6 = { @@ -4765,6 +4765,7 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; + COMBINE_HIDPI_IMAGES = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -4798,6 +4799,7 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; + COMBINE_HIDPI_IMAGES = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; diff --git a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/mailcore osx.xcscheme b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/mailcore osx.xcscheme index dfa632fb..40362a48 100644 --- a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/mailcore osx.xcscheme +++ b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/mailcore osx.xcscheme @@ -1,6 +1,6 @@ + + + + diff --git a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 ios.xcscheme b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 ios.xcscheme index 308d9031..c0e8e223 100644 --- a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 ios.xcscheme +++ b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 ios.xcscheme @@ -1,6 +1,6 @@ + + + + diff --git a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 osx.xcscheme b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 osx.xcscheme index 0f03d9d8..3107b4a3 100644 --- a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 osx.xcscheme +++ b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/static mailcore2 osx.xcscheme @@ -1,6 +1,6 @@ + + + + diff --git a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/test-ios.xcscheme b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/test-ios.xcscheme index 197bb83a..4a32a752 100644 --- a/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/test-ios.xcscheme +++ b/build-mac/mailcore2.xcodeproj/xcshareddata/xcschemes/test-ios.xcscheme @@ -1,6 +1,6 @@ setSession(this); diff --git a/src/async/nntp/MCNNTPAsyncSession.h b/src/async/nntp/MCNNTPAsyncSession.h index c92e09ee..bbcc4036 100644 --- a/src/async/nntp/MCNNTPAsyncSession.h +++ b/src/async/nntp/MCNNTPAsyncSession.h @@ -62,7 +62,7 @@ namespace mailcore { virtual NNTPFetchOverviewOperation * fetchOverviewOperationWithIndexes(String * groupName, IndexSet * indexes); - virtual NNTPFetchServerTimeOperation * fetchServerTimeOperation(); + virtual NNTPFetchServerTimeOperation * fetchServerDateOperation(); virtual NNTPListNewsgroupsOperation * listAllNewsgroupsOperation(); virtual NNTPListNewsgroupsOperation * listDefaultNewsgroupsOperation(); diff --git a/src/async/nntp/MCNNTPFetchOverviewOperation.h b/src/async/nntp/MCNNTPFetchOverviewOperation.h index 0582864d..aab8d24b 100644 --- a/src/async/nntp/MCNNTPFetchOverviewOperation.h +++ b/src/async/nntp/MCNNTPFetchOverviewOperation.h @@ -35,7 +35,7 @@ namespace mailcore { private: IndexSet * mIndexes; String * mGroupName; - Array * /* NNTPGroupInfo */ mArticles; + Array * /* MessageHeader */ mArticles; }; } diff --git a/src/async/nntp/MCNNTPFetchServerTimeOperation.cc b/src/async/nntp/MCNNTPFetchServerTimeOperation.cc index a2729f48..86800733 100644 --- a/src/async/nntp/MCNNTPFetchServerTimeOperation.cc +++ b/src/async/nntp/MCNNTPFetchServerTimeOperation.cc @@ -29,6 +29,6 @@ time_t NNTPFetchServerTimeOperation::time() void NNTPFetchServerTimeOperation::main() { ErrorCode error; - mTime = session()->session()->fetchServerClockTime(&error); + mTime = session()->session()->fetchServerDate(&error); setError(error); } diff --git a/src/core/abstract/MCMessageConstants.h b/src/core/abstract/MCMessageConstants.h index 9014f992..1b45ea69 100644 --- a/src/core/abstract/MCMessageConstants.h +++ b/src/core/abstract/MCMessageConstants.h @@ -249,7 +249,7 @@ namespace mailcore { ErrorNoRecipient, ErrorNoop, ErrorGmailApplicationSpecificPasswordRequired, - ErrorBadResponse, + ErrorServerDate, }; enum PartType { diff --git a/src/core/nntp/MCNNTPSession.cc b/src/core/nntp/MCNNTPSession.cc index b0d3776f..3c7ea7a3 100644 --- a/src/core/nntp/MCNNTPSession.cc +++ b/src/core/nntp/MCNNTPSession.cc @@ -368,9 +368,10 @@ Array * NNTPSession::listDefaultNewsgroups(ErrorCode * pError) MCLog("fetch subscribed"); loginIfNeeded(pError); - if (* pError != ErrorNone) + if (* pError != ErrorNone) { return NULL; - + } + r = newsnntp_list_subscriptions(mNNTP, &subd_groups); MCLog("fetch subscribed %u", r); @@ -392,10 +393,11 @@ Array * NNTPSession::listDefaultNewsgroups(ErrorCode * pError) } newsnntp_list_subscriptions_free(subd_groups); * pError = ErrorNone; - + return result; } + MessageHeader * NNTPSession::fetchHeader(String *groupName, unsigned int index, ErrorCode * pError) { int r; diff --git a/src/core/nntp/MCNNTPSession.h b/src/core/nntp/MCNNTPSession.h index 607f58cf..d410fdcf 100644 --- a/src/core/nntp/MCNNTPSession.h +++ b/src/core/nntp/MCNNTPSession.h @@ -45,7 +45,7 @@ namespace mailcore { virtual void checkAccount(ErrorCode * pError); virtual Array * /* NNTPGroupInfo */ listAllNewsgroups(ErrorCode * pError); - virtual Array * listDefaultNewsgroups(ErrorCode * pError); + virtual Array * /* NNTPGroupInfo */ listDefaultNewsgroups(ErrorCode * pError); virtual MessageHeader * fetchHeader(String * groupName, unsigned int index, ErrorCode * pError); virtual Array /*MessageHeader*/ * fetchOverArticlesInRange(Range range, String * groupname, ErrorCode * pError); @@ -55,7 +55,7 @@ namespace mailcore { virtual Data * fetchArticle(String *groupName, unsigned int index, NNTPProgressCallback * callback, ErrorCode * pError); virtual Data * fetchArticleByMessageID(String * groupname, String * messageID, ErrorCode * pError); - virtual time_t fetchServerClockTime(ErrorCode * pError); + virtual time_t fetchServerDate(ErrorCode * pError); virtual void setConnectionLogger(ConnectionLogger * logger); virtual ConnectionLogger * connectionLogger(); diff --git a/src/objc/nntp/MCONNTPSession.h b/src/objc/nntp/MCONNTPSession.h index 63e7467b..566756a1 100644 --- a/src/objc/nntp/MCONNTPSession.h +++ b/src/objc/nntp/MCONNTPSession.h @@ -71,7 +71,7 @@ /** Returns an operation that will fetch the list of article numbers. - MCONNTPFetchArticlesOperation * op = [session fetchAllArticlesOperation]; + MCONNTPFetchArticlesOperation * op = [session fetchAllArticlesOperation:@"comp.lang.c"]; [op start:^(NSError * error, MCOIndexSet * articles) { }]; */ @@ -80,7 +80,7 @@ /** Returns an operation that will fetch the header of the given message. - MCONNTPFetchHeaderOperation * op = [session fetchHeaderOperationWithIndex:idx inGroup:@"Group"]; + MCONNTPFetchHeaderOperation * op = [session fetchHeaderOperationWithIndex:idx inGroup:@"comp.lang.c"]; [op start:^(NSError * error, MCOMessageHeader * header) { // header is the parsed header of the message. }]; @@ -90,7 +90,7 @@ /** Returns an operation that will fetch an overview (headers) for a set of messages. - MCONNTPFetchHeaderOperation * op = [session fetchOverviewOperationWithIndexes:indexes inGroup:@"Group"]; + MCONNTPFetchHeaderOperation * op = [session fetchOverviewOperationWithIndexes:indexes inGroup:@"comp.lang.c"]; [op start:^(NSError * error, NSArray * headers) { // headers are the parsed headers of each part of the overview. }]; @@ -100,7 +100,7 @@ /** Returns an operation that will fetch the content of the given message. - MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithIndex:idx inGroup:@"Group"]; + MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithIndex:idx inGroup:@"comp.lang.c"]; [op start:^(NSError * error, NSData * messageData) { // messageData is the RFC 822 formatted message data. }]; @@ -110,7 +110,7 @@ /** Returns an operation that will fetch the content of a message with the given messageID. - MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithMessageID:@"<26>" inGroup:@"Group"]; + MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithMessageID:@"" inGroup:@"comp.lang.c"]; [op start:^(NSError * error, NSData * messageData) { // messageData is the RFC 822 formatted message data. }]; @@ -120,11 +120,11 @@ /** Returns an operation that will fetch the server's date and time. - MCONNTPFetchArticleOperation * op = [session fetchServerTimeOperation]; - [op start:^(NSError * error, NSDate * serverTime) { + MCONNTPFetchArticleOperation * op = [session fetchServerDateOperation]; + [op start:^(NSError * error, NSDate * serverDate) { }]; */ -- (MCONNTPFetchServerTimeOperation *) fetchServerTimeOperation; +- (MCONNTPFetchServerTimeOperation *) fetchServerDateOperation; /** Returns an operation that will list all available newsgroups. diff --git a/src/objc/nntp/MCONNTPSession.mm b/src/objc/nntp/MCONNTPSession.mm index b9d3573c..10011e6e 100644 --- a/src/objc/nntp/MCONNTPSession.mm +++ b/src/objc/nntp/MCONNTPSession.mm @@ -150,8 +150,8 @@ MCO_OBJC_SYNTHESIZE_SCALAR(dispatch_queue_t, dispatch_queue_t, setDispatchQueue, return MCO_TO_OBJC_OP(coreOp); } -- (MCONNTPFetchServerTimeOperation *) fetchServerTimeOperation { - mailcore::NNTPFetchServerTimeOperation * coreOp = MCO_NATIVE_INSTANCE->fetchServerTimeOperation(); +- (MCONNTPFetchServerTimeOperation *) fetchServerDateOperation { + mailcore::NNTPFetchServerTimeOperation * coreOp = MCO_NATIVE_INSTANCE->fetchServerDateOperation(); return MCO_TO_OBJC_OP(coreOp); } -- cgit v1.2.3 From 6d025c58c7b7cb11d7323068a83c0aa2a56e8209 Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Thu, 23 Oct 2014 15:21:06 -0600 Subject: FetchArticles -> FetchAllArticles --- build-mac/mailcore2.xcodeproj/project.pbxproj | 64 ++++++++++---------- .../project.xcworkspace/contents.xcworkspacedata | 7 +++ src/async/nntp/MCAsyncNNTP.h | 2 +- src/async/nntp/MCNNTPAsyncSession.cc | 6 +- src/async/nntp/MCNNTPAsyncSession.h | 4 +- src/async/nntp/MCNNTPFetchAllArticlesOperation.cc | 49 +++++++++++++++ src/async/nntp/MCNNTPFetchAllArticlesOperation.h | 41 +++++++++++++ src/async/nntp/MCNNTPFetchArticleOperation.cc | 2 +- src/async/nntp/MCNNTPFetchArticleOperation.h | 2 +- src/async/nntp/MCNNTPFetchArticlesOperation.cc | 49 --------------- src/async/nntp/MCNNTPFetchArticlesOperation.h | 41 ------------- src/cmake/async.cmake | 2 +- src/cmake/objc.cmake | 2 +- src/cmake/public-headers.cmake | 4 +- src/objc/nntp/MCONNTP.h | 2 +- src/objc/nntp/MCONNTPFetchAllArticlesOperation.h | 35 +++++++++++ src/objc/nntp/MCONNTPFetchAllArticlesOperation.mm | 70 ++++++++++++++++++++++ src/objc/nntp/MCONNTPFetchArticlesOperation.h | 35 ----------- src/objc/nntp/MCONNTPFetchArticlesOperation.mm | 70 ---------------------- src/objc/nntp/MCONNTPSession.h | 6 +- src/objc/nntp/MCONNTPSession.mm | 6 +- 21 files changed, 253 insertions(+), 246 deletions(-) create mode 100644 build-mac/mailcore2.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 src/async/nntp/MCNNTPFetchAllArticlesOperation.cc create mode 100644 src/async/nntp/MCNNTPFetchAllArticlesOperation.h delete mode 100644 src/async/nntp/MCNNTPFetchArticlesOperation.cc delete mode 100644 src/async/nntp/MCNNTPFetchArticlesOperation.h create mode 100644 src/objc/nntp/MCONNTPFetchAllArticlesOperation.h create mode 100644 src/objc/nntp/MCONNTPFetchAllArticlesOperation.mm delete mode 100644 src/objc/nntp/MCONNTPFetchArticlesOperation.h delete mode 100644 src/objc/nntp/MCONNTPFetchArticlesOperation.mm (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 117cc83b..8f9f6803 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -35,7 +35,7 @@ 27780D4A19CFA32900C77E44 /* MCONNTPFetchHeaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7376B199C005A005124E5 /* MCONNTPFetchHeaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780D4B19CFA32900C77E44 /* MCONNTPFetchArticleOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7376F199C007E005124E5 /* MCONNTPFetchArticleOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780D4C19CFA32900C77E44 /* MCONNTPListNewsgroupsOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73789199C0260005124E5 /* MCONNTPListNewsgroupsOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 27780D4D19CFA32900C77E44 /* MCONNTPFetchArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27780D4D19CFA32900C77E44 /* MCONNTPFetchAllArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780D4E19CFA32900C77E44 /* MCONNTPDisconnectOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7378D199C02A8005124E5 /* MCONNTPDisconnectOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780D4F19CFA32900C77E44 /* MCONNTPGroupInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73791199C0511005124E5 /* MCONNTPGroupInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780D5019CFA32900C77E44 /* MCOAbstract.h in Headers */ = {isa = PBXBuildFile; fileRef = C64BB23616EDAA2B000DB34C /* MCOAbstract.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -158,7 +158,7 @@ 27780DC519CFA33500C77E44 /* MCNNTPFetchHeaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73736199BF7F2005124E5 /* MCNNTPFetchHeaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780DC619CFA33600C77E44 /* MCNNTPFetchArticleOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780DC719CFA33600C77E44 /* MCNNTPListNewsgroupsOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7375B199BFDCA005124E5 /* MCNNTPListNewsgroupsOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 27780DC819CFA33600C77E44 /* MCNNTPFetchArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27780DC819CFA33600C77E44 /* MCNNTPFetchAllArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780DC919CFA33600C77E44 /* MCNNTPCheckAccountOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780DCA19CFA33600C77E44 /* MCNNTPDisconnectOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73757199BFC8A005124E5 /* MCNNTPDisconnectOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 27780DCB19CFA33700C77E44 /* MCNNTPOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7372F199BF704005124E5 /* MCNNTPOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -287,7 +287,7 @@ 27780E4619CFA3F500C77E44 /* MCONNTPFetchHeaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7376B199C005A005124E5 /* MCONNTPFetchHeaderOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780E4719CFA3F500C77E44 /* MCONNTPFetchArticleOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7376F199C007E005124E5 /* MCONNTPFetchArticleOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780E4819CFA3F500C77E44 /* MCONNTPListNewsgroupsOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73789199C0260005124E5 /* MCONNTPListNewsgroupsOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 27780E4919CFA3F500C77E44 /* MCONNTPFetchArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 27780E4919CFA3F500C77E44 /* MCONNTPFetchAllArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780E4A19CFA3F500C77E44 /* MCONNTPDisconnectOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7378D199C02A8005124E5 /* MCONNTPDisconnectOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780E4B19CFA3F500C77E44 /* MCONNTPGroupInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73791199C0511005124E5 /* MCONNTPGroupInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780E4C19CFA3F500C77E44 /* MCOAbstract.h in Headers */ = {isa = PBXBuildFile; fileRef = C64BB23616EDAA2B000DB34C /* MCOAbstract.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -404,7 +404,7 @@ 27780EBB19CFA40000C77E44 /* MCNNTPFetchHeaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73736199BF7F2005124E5 /* MCNNTPFetchHeaderOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780EBC19CFA40100C77E44 /* MCNNTPFetchArticleOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780EBD19CFA40100C77E44 /* MCNNTPListNewsgroupsOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7375B199BFDCA005124E5 /* MCNNTPListNewsgroupsOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 27780EBE19CFA40100C77E44 /* MCNNTPFetchArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 27780EBE19CFA40100C77E44 /* MCNNTPFetchAllArticlesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780EBF19CFA40100C77E44 /* MCNNTPCheckAccountOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780EC019CFA40100C77E44 /* MCNNTPDisconnectOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D73757199BFC8A005124E5 /* MCNNTPDisconnectOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 27780EC119CFA40200C77E44 /* MCNNTPOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D7372F199BF704005124E5 /* MCNNTPOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -586,8 +586,8 @@ 84D7373A199BF81D005124E5 /* MCNNTPOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7372F199BF704005124E5 /* MCNNTPOperation.h */; }; 84D7373D199BF83B005124E5 /* MCNNTPFetchArticleOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7373B199BF83B005124E5 /* MCNNTPFetchArticleOperation.cc */; }; 84D7373E199BF83B005124E5 /* MCNNTPFetchArticleOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D7373B199BF83B005124E5 /* MCNNTPFetchArticleOperation.cc */; }; - 84D73742199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */; }; - 84D73743199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */; }; + 84D73742199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D73740199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc */; }; + 84D73743199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D73740199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc */; }; 84D73746199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */; }; 84D73747199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */; }; 84D73748199BFACA005124E5 /* MCNNTPAsyncSession.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7372B199BF66C005124E5 /* MCNNTPAsyncSession.h */; }; @@ -597,9 +597,9 @@ 84D7374C199BFB9C005124E5 /* MCNNTPFetchHeaderOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73736199BF7F2005124E5 /* MCNNTPFetchHeaderOperation.h */; }; 84D7374D199BFB9F005124E5 /* MCNNTPFetchArticleOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */; }; 84D7374E199BFBBA005124E5 /* MCNNTPFetchHeaderOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73736199BF7F2005124E5 /* MCNNTPFetchHeaderOperation.h */; }; - 84D7374F199BFBC8005124E5 /* MCNNTPFetchArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */; }; + 84D7374F199BFBC8005124E5 /* MCNNTPFetchAllArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.h */; }; 84D73750199BFBD9005124E5 /* MCNNTPFetchArticleOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */; }; - 84D73751199BFBDF005124E5 /* MCNNTPFetchArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */; }; + 84D73751199BFBDF005124E5 /* MCNNTPFetchAllArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73741199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.h */; }; 84D73752199BFBE3005124E5 /* MCNNTPCheckAccountOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */; }; 84D73753199BFBE6005124E5 /* MCNNTPCheckAccountOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */; }; 84D73754199BFBEC005124E5 /* MCNNTPOperationCallback.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7373F199BF887005124E5 /* MCNNTPOperationCallback.h */; }; @@ -618,8 +618,8 @@ 84D7376E199C005A005124E5 /* MCONNTPFetchHeaderOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D7376C199C005A005124E5 /* MCONNTPFetchHeaderOperation.mm */; }; 84D73771199C007E005124E5 /* MCONNTPFetchArticleOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D73770199C007E005124E5 /* MCONNTPFetchArticleOperation.mm */; }; 84D73772199C007E005124E5 /* MCONNTPFetchArticleOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D73770199C007E005124E5 /* MCONNTPFetchArticleOperation.mm */; }; - 84D73775199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */; }; - 84D73776199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */; }; + 84D73775199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D73774199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm */; }; + 84D73776199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D73774199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm */; }; 84D7377B199C00F5005124E5 /* MCONNTP.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73761199BFF80005124E5 /* MCONNTP.h */; }; 84D7377C199C00F7005124E5 /* MCONNTP.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73761199BFF80005124E5 /* MCONNTP.h */; }; 84D7377D199C00FE005124E5 /* MCONNTPSession.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73762199BFFC7005124E5 /* MCONNTPSession.h */; }; @@ -627,11 +627,11 @@ 84D7377F199C0104005124E5 /* MCONNTPOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73766199BFFFC005124E5 /* MCONNTPOperation.h */; }; 84D73780199C0107005124E5 /* MCONNTPFetchHeaderOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7376B199C005A005124E5 /* MCONNTPFetchHeaderOperation.h */; }; 84D73781199C010A005124E5 /* MCONNTPFetchArticleOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7376F199C007E005124E5 /* MCONNTPFetchArticleOperation.h */; }; - 84D73782199C010B005124E5 /* MCONNTPFetchArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */; }; + 84D73782199C010B005124E5 /* MCONNTPFetchAllArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.h */; }; 84D73784199C0114005124E5 /* MCONNTPOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73766199BFFFC005124E5 /* MCONNTPOperation.h */; }; 84D73785199C0117005124E5 /* MCONNTPFetchHeaderOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7376B199C005A005124E5 /* MCONNTPFetchHeaderOperation.h */; }; 84D73786199C0118005124E5 /* MCONNTPFetchArticleOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D7376F199C007E005124E5 /* MCONNTPFetchArticleOperation.h */; }; - 84D73787199C011A005124E5 /* MCONNTPFetchArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */; }; + 84D73787199C011A005124E5 /* MCONNTPFetchAllArticlesOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D73773199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.h */; }; 84D7378B199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D7378A199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm */; }; 84D7378C199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D7378A199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm */; }; 84D7378F199C02A8005124E5 /* MCONNTPDisconnectOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84D7378E199C02A8005124E5 /* MCONNTPDisconnectOperation.mm */; }; @@ -1475,7 +1475,7 @@ C6F61FA0170187B80073032E /* MCOIMAPFolderInfoOperation.h in CopyFiles */, C6F61FA4170187C30073032E /* MCOIMAPFetchMessagesOperation.h in CopyFiles */, 84D73781199C010A005124E5 /* MCONNTPFetchArticleOperation.h in CopyFiles */, - 84D73782199C010B005124E5 /* MCONNTPFetchArticlesOperation.h in CopyFiles */, + 84D73782199C010B005124E5 /* MCONNTPFetchAllArticlesOperation.h in CopyFiles */, C6F61FA3170187BD0073032E /* MCOIMAPCopyMessagesOperation.h in CopyFiles */, C6D6F95A171E5D60006F5B28 /* MCJSON.h in CopyFiles */, C6F61FA2170187BC0073032E /* MCOIMAPAppendMessageOperation.h in CopyFiles */, @@ -1503,7 +1503,7 @@ C623C59016FE71B2001BBEFC /* MCOIMAPOperation.h in CopyFiles */, C6F5B9F616FEBB4900D9DABD /* MCOIMAPMessage.h in CopyFiles */, 84D73750199BFBD9005124E5 /* MCNNTPFetchArticleOperation.h in CopyFiles */, - 84D7374F199BFBC8005124E5 /* MCNNTPFetchArticlesOperation.h in CopyFiles */, + 84D7374F199BFBC8005124E5 /* MCNNTPFetchAllArticlesOperation.h in CopyFiles */, C623C58916FD8B71001BBEFC /* MCOUtils.h in CopyFiles */, C64EA74F169E859600778456 /* MCAbstractMessage.h in CopyFiles */, C623C58816FD6DF6001BBEFC /* NSValue+MCO.h in CopyFiles */, @@ -1640,7 +1640,7 @@ 84E65534199BE2BF00EC8CC4 /* MCNNTPGroupInfo.h in CopyFiles */, 84D73785199C0117005124E5 /* MCONNTPFetchHeaderOperation.h in CopyFiles */, 84D73739199BF81A005124E5 /* MCNNTPOperation.h in CopyFiles */, - 84D73787199C011A005124E5 /* MCONNTPFetchArticlesOperation.h in CopyFiles */, + 84D73787199C011A005124E5 /* MCONNTPFetchAllArticlesOperation.h in CopyFiles */, 84391344199C3AB200FEFCDD /* MCONNTPDisconnectOperation.h in CopyFiles */, 84391343199C3AAA00FEFCDD /* MCONNTPListNewsgroupsOperation.h in CopyFiles */, 84D73786199C0118005124E5 /* MCONNTPFetchArticleOperation.h in CopyFiles */, @@ -1654,7 +1654,7 @@ 84D7374D199BFB9F005124E5 /* MCNNTPFetchArticleOperation.h in CopyFiles */, DAE42E8A178F7E2200E0DB8F /* MCOIMAPMessageRenderingOperation.h in CopyFiles */, C6E6652F1791B2530063F2CF /* MCIMAPMessageRenderingOperation.h in CopyFiles */, - 84D73751199BFBDF005124E5 /* MCNNTPFetchArticlesOperation.h in CopyFiles */, + 84D73751199BFBDF005124E5 /* MCNNTPFetchAllArticlesOperation.h in CopyFiles */, 9E774D8B1767CD3C0065EB9B /* MCIMAPFolderStatus.h in CopyFiles */, 84D73755199BFBF2005124E5 /* MCNNTPOperationCallback.h in CopyFiles */, 9EF9AB25175F40C70027FA3B /* MCIMAPFolderStatusOperation.h in CopyFiles */, @@ -1879,8 +1879,8 @@ 84D7373B199BF83B005124E5 /* MCNNTPFetchArticleOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = MCNNTPFetchArticleOperation.cc; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; 84D7373C199BF83B005124E5 /* MCNNTPFetchArticleOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MCNNTPFetchArticleOperation.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D7373F199BF887005124E5 /* MCNNTPOperationCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPOperationCallback.h; sourceTree = ""; }; - 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = MCNNTPFetchArticlesOperation.cc; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; - 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MCNNTPFetchArticlesOperation.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 84D73740199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = MCNNTPFetchAllArticlesOperation.cc; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; + 84D73741199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MCNNTPFetchAllArticlesOperation.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPCheckAccountOperation.cc; sourceTree = ""; }; 84D73745199BFA8C005124E5 /* MCNNTPCheckAccountOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCNNTPCheckAccountOperation.h; sourceTree = ""; }; 84D73756199BFC8A005124E5 /* MCNNTPDisconnectOperation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCNNTPDisconnectOperation.cc; sourceTree = ""; }; @@ -1897,8 +1897,8 @@ 84D7376C199C005A005124E5 /* MCONNTPFetchHeaderOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchHeaderOperation.mm; sourceTree = ""; }; 84D7376F199C007E005124E5 /* MCONNTPFetchArticleOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchArticleOperation.h; sourceTree = ""; }; 84D73770199C007E005124E5 /* MCONNTPFetchArticleOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPFetchArticleOperation.mm; sourceTree = ""; }; - 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchArticlesOperation.h; sourceTree = ""; }; - 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = MCONNTPFetchArticlesOperation.mm; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 84D73773199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPFetchAllArticlesOperation.h; sourceTree = ""; }; + 84D73774199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = MCONNTPFetchAllArticlesOperation.mm; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 84D73789199C0260005124E5 /* MCONNTPListNewsgroupsOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPListNewsgroupsOperation.h; sourceTree = ""; }; 84D7378A199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCONNTPListNewsgroupsOperation.mm; sourceTree = ""; }; 84D7378D199C02A8005124E5 /* MCONNTPDisconnectOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCONNTPDisconnectOperation.h; sourceTree = ""; }; @@ -2455,8 +2455,8 @@ 84D7375B199BFDCA005124E5 /* MCNNTPListNewsgroupsOperation.h */, 84CFA98519F7159700FE35D2 /* MCNNTPFetchOverviewOperation.cc */, 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */, - 84D73740199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc */, - 84D73741199BF963005124E5 /* MCNNTPFetchArticlesOperation.h */, + 84D73740199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc */, + 84D73741199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.h */, 84CFA98D19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.cc */, 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */, 84D73744199BFA8C005124E5 /* MCNNTPCheckAccountOperation.cc */, @@ -2487,8 +2487,8 @@ 84D7378A199C0260005124E5 /* MCONNTPListNewsgroupsOperation.mm */, 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */, 84CFA98219F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.mm */, - 84D73773199C00AB005124E5 /* MCONNTPFetchArticlesOperation.h */, - 84D73774199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm */, + 84D73773199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.h */, + 84D73774199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm */, 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */, 84CFA99419F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm */, 84D7378D199C02A8005124E5 /* MCONNTPDisconnectOperation.h */, @@ -3235,7 +3235,7 @@ 27780E4619CFA3F500C77E44 /* MCONNTPFetchHeaderOperation.h in Headers */, 27780E4719CFA3F500C77E44 /* MCONNTPFetchArticleOperation.h in Headers */, 27780E4819CFA3F500C77E44 /* MCONNTPListNewsgroupsOperation.h in Headers */, - 27780E4919CFA3F500C77E44 /* MCONNTPFetchArticlesOperation.h in Headers */, + 27780E4919CFA3F500C77E44 /* MCONNTPFetchAllArticlesOperation.h in Headers */, 27780E4A19CFA3F500C77E44 /* MCONNTPDisconnectOperation.h in Headers */, 27780E4B19CFA3F500C77E44 /* MCONNTPGroupInfo.h in Headers */, 27780E4C19CFA3F500C77E44 /* MCOAbstract.h in Headers */, @@ -3348,7 +3348,7 @@ 27780EBB19CFA40000C77E44 /* MCNNTPFetchHeaderOperation.h in Headers */, 27780EBC19CFA40100C77E44 /* MCNNTPFetchArticleOperation.h in Headers */, 27780EBD19CFA40100C77E44 /* MCNNTPListNewsgroupsOperation.h in Headers */, - 27780EBE19CFA40100C77E44 /* MCNNTPFetchArticlesOperation.h in Headers */, + 27780EBE19CFA40100C77E44 /* MCNNTPFetchAllArticlesOperation.h in Headers */, 27780EBF19CFA40100C77E44 /* MCNNTPCheckAccountOperation.h in Headers */, 27780EC019CFA40100C77E44 /* MCNNTPDisconnectOperation.h in Headers */, 27780EC119CFA40200C77E44 /* MCNNTPOperation.h in Headers */, @@ -3490,7 +3490,7 @@ 27780D4A19CFA32900C77E44 /* MCONNTPFetchHeaderOperation.h in Headers */, 27780D4B19CFA32900C77E44 /* MCONNTPFetchArticleOperation.h in Headers */, 27780D4C19CFA32900C77E44 /* MCONNTPListNewsgroupsOperation.h in Headers */, - 27780D4D19CFA32900C77E44 /* MCONNTPFetchArticlesOperation.h in Headers */, + 27780D4D19CFA32900C77E44 /* MCONNTPFetchAllArticlesOperation.h in Headers */, 27780D4E19CFA32900C77E44 /* MCONNTPDisconnectOperation.h in Headers */, 27780D4F19CFA32900C77E44 /* MCONNTPGroupInfo.h in Headers */, 27780D5019CFA32900C77E44 /* MCOAbstract.h in Headers */, @@ -3609,7 +3609,7 @@ 27780DC519CFA33500C77E44 /* MCNNTPFetchHeaderOperation.h in Headers */, 27780DC619CFA33600C77E44 /* MCNNTPFetchArticleOperation.h in Headers */, 27780DC719CFA33600C77E44 /* MCNNTPListNewsgroupsOperation.h in Headers */, - 27780DC819CFA33600C77E44 /* MCNNTPFetchArticlesOperation.h in Headers */, + 27780DC819CFA33600C77E44 /* MCNNTPFetchAllArticlesOperation.h in Headers */, 27780DC919CFA33600C77E44 /* MCNNTPCheckAccountOperation.h in Headers */, 27780DCA19CFA33600C77E44 /* MCNNTPDisconnectOperation.h in Headers */, 27780DCB19CFA33700C77E44 /* MCNNTPOperation.h in Headers */, @@ -4039,7 +4039,7 @@ C64EA723169E847800778456 /* MCIMAPFolder.cc in Sources */, C64EA725169E847800778456 /* MCIMAPMessage.cc in Sources */, C64EA727169E847800778456 /* MCIMAPMessagePart.cc in Sources */, - 84D73775199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm in Sources */, + 84D73775199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm in Sources */, C64EA729169E847800778456 /* MCIMAPMultipart.cc in Sources */, 84CFA99519F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm in Sources */, C64EA72B169E847800778456 /* MCIMAPNamespace.cc in Sources */, @@ -4071,7 +4071,7 @@ C64EA80216A295E400778456 /* MCIMAPRenameFolderOperation.cc in Sources */, C64EA80516A2997E00778456 /* MCIMAPDeleteFolderOperation.cc in Sources */, C63D315C17C9155C00A4D993 /* MCIMAPIdentity.cc in Sources */, - 84D73742199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc in Sources */, + 84D73742199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc in Sources */, C64EA80816A2999A00778456 /* MCIMAPCreateFolderOperation.cc in Sources */, C64EA80B16A299B700778456 /* MCIMAPSubscribeFolderOperation.cc in Sources */, 84D7372C199BF66C005124E5 /* MCNNTPAsyncSession.cc in Sources */, @@ -4276,7 +4276,7 @@ C6BA2BAE1705F4E6003F0E9E /* MCIMAPFolder.cc in Sources */, C6BA2BAF1705F4E6003F0E9E /* MCIMAPMessage.cc in Sources */, C6BA2BB01705F4E6003F0E9E /* MCIMAPMessagePart.cc in Sources */, - 84D73776199C00AB005124E5 /* MCONNTPFetchArticlesOperation.mm in Sources */, + 84D73776199C00AB005124E5 /* MCONNTPFetchAllArticlesOperation.mm in Sources */, 84CFA99619F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.mm in Sources */, C6BA2BB11705F4E6003F0E9E /* MCIMAPMultipart.cc in Sources */, C6BA2BB21705F4E6003F0E9E /* MCIMAPNamespace.cc in Sources */, @@ -4308,7 +4308,7 @@ C6BA2BC61705F4E6003F0E9E /* MCIMAPRenameFolderOperation.cc in Sources */, C6BA2BC71705F4E6003F0E9E /* MCIMAPDeleteFolderOperation.cc in Sources */, C63D315D17C9155C00A4D993 /* MCIMAPIdentity.cc in Sources */, - 84D73743199BF963005124E5 /* MCNNTPFetchArticlesOperation.cc in Sources */, + 84D73743199BF963005124E5 /* MCNNTPFetchAllArticlesOperation.cc in Sources */, C6BA2BC81705F4E6003F0E9E /* MCIMAPCreateFolderOperation.cc in Sources */, C6BA2BC91705F4E6003F0E9E /* MCIMAPSubscribeFolderOperation.cc in Sources */, 84D7372D199BF66C005124E5 /* MCNNTPAsyncSession.cc in Sources */, diff --git a/build-mac/mailcore2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/build-mac/mailcore2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..fd851d4d --- /dev/null +++ b/build-mac/mailcore2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/src/async/nntp/MCAsyncNNTP.h b/src/async/nntp/MCAsyncNNTP.h index 4bc85241..914cc754 100644 --- a/src/async/nntp/MCAsyncNNTP.h +++ b/src/async/nntp/MCAsyncNNTP.h @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/async/nntp/MCNNTPAsyncSession.cc b/src/async/nntp/MCNNTPAsyncSession.cc index 5c3aa36a..a78a70b4 100644 --- a/src/async/nntp/MCNNTPAsyncSession.cc +++ b/src/async/nntp/MCNNTPAsyncSession.cc @@ -11,7 +11,7 @@ #include "MCNNTP.h" #include "MCNNTPFetchHeaderOperation.h" #include "MCNNTPFetchArticleOperation.h" -#include "MCNNTPFetchArticlesOperation.h" +#include "MCNNTPFetchAllArticlesOperation.h" #include "MCNNTPListNewsgroupsOperation.h" #include "MCNNTPFetchOverviewOperation.h" #include "MCNNTPCheckAccountOperation.h" @@ -155,9 +155,9 @@ bool NNTPAsyncSession::isCheckCertificateEnabled() return mSession->isCheckCertificateEnabled(); } -NNTPFetchArticlesOperation * NNTPAsyncSession::fetchAllArticlesOperation(String * group) +NNTPFetchAllArticlesOperation * NNTPAsyncSession::fetchAllArticlesOperation(String * group) { - NNTPFetchArticlesOperation * op = new NNTPFetchArticlesOperation(); + NNTPFetchAllArticlesOperation * op = new NNTPFetchAllArticlesOperation(); op->setSession(this); op->setGroupName(group); op->autorelease(); diff --git a/src/async/nntp/MCNNTPAsyncSession.h b/src/async/nntp/MCNNTPAsyncSession.h index bbcc4036..d18ea119 100644 --- a/src/async/nntp/MCNNTPAsyncSession.h +++ b/src/async/nntp/MCNNTPAsyncSession.h @@ -12,7 +12,7 @@ namespace mailcore { class NNTPSession; class NNTPFetchHeaderOperation; class NNTPFetchArticleOperation; - class NNTPFetchArticlesOperation; + class NNTPFetchAllArticlesOperation; class NNTPFetchOverviewOperation; class NNTPListNewsgroupsOperation; class NNTPFetchServerTimeOperation; @@ -53,7 +53,7 @@ namespace mailcore { virtual dispatch_queue_t dispatchQueue(); #endif - virtual NNTPFetchArticlesOperation * fetchAllArticlesOperation(String * group); + virtual NNTPFetchAllArticlesOperation * fetchAllArticlesOperation(String * group); virtual NNTPFetchHeaderOperation * fetchHeaderOperation(String * groupName, unsigned int index); diff --git a/src/async/nntp/MCNNTPFetchAllArticlesOperation.cc b/src/async/nntp/MCNNTPFetchAllArticlesOperation.cc new file mode 100644 index 00000000..044e9e5e --- /dev/null +++ b/src/async/nntp/MCNNTPFetchAllArticlesOperation.cc @@ -0,0 +1,49 @@ +// +// MCNNTPFetchAllArticlesOperation.cpp +// mailcore2 +// +// Created by Robert Widmann on 8/13/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#include "MCNNTPFetchAllArticlesOperation.h" + +#include "MCNNTPAsyncSession.h" +#include "MCNNTPSession.h" + +using namespace mailcore; + +NNTPFetchAllArticlesOperation::NNTPFetchAllArticlesOperation() +{ + mGroupName = NULL; + mArticles = NULL; +} + +NNTPFetchAllArticlesOperation::~NNTPFetchAllArticlesOperation() +{ + MC_SAFE_RELEASE(mGroupName); + MC_SAFE_RELEASE(mArticles); +} + +void NNTPFetchAllArticlesOperation::setGroupName(String * groupname) +{ + MC_SAFE_REPLACE_COPY(String, mGroupName, groupname); +} + +String * NNTPFetchAllArticlesOperation::groupName() +{ + return mGroupName; +} + +IndexSet * NNTPFetchAllArticlesOperation::articles() +{ + return mArticles; +} + +void NNTPFetchAllArticlesOperation::main() +{ + ErrorCode error; + mArticles = session()->session()->fetchAllArticles(mGroupName, &error); + setError(error); + MC_SAFE_RETAIN(mArticles); +} diff --git a/src/async/nntp/MCNNTPFetchAllArticlesOperation.h b/src/async/nntp/MCNNTPFetchAllArticlesOperation.h new file mode 100644 index 00000000..88395dee --- /dev/null +++ b/src/async/nntp/MCNNTPFetchAllArticlesOperation.h @@ -0,0 +1,41 @@ +// +// MCNNTPFetchAllArticlesOperation.h +// mailcore2 +// +// Created by Robert Widmann on 8/13/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#ifndef MAILCORE_MCNNTPFETCHARTICLESOPERATION_H + +#define MAILCORE_MCNNTPFETCHARTICLESOPERATION_H + +#include + +#ifdef __cplusplus + +namespace mailcore { + + class NNTPFetchAllArticlesOperation : public NNTPOperation { + public: + NNTPFetchAllArticlesOperation(); + virtual ~NNTPFetchAllArticlesOperation(); + + virtual void setGroupName(String * groupName); + virtual String * groupName(); + + virtual IndexSet * articles(); + + public: // subclass behavior + virtual void main(); + + private: + String * mGroupName; + IndexSet * mArticles; + }; + +} + +#endif + +#endif diff --git a/src/async/nntp/MCNNTPFetchArticleOperation.cc b/src/async/nntp/MCNNTPFetchArticleOperation.cc index 1ad2ae85..1df0dc33 100644 --- a/src/async/nntp/MCNNTPFetchArticleOperation.cc +++ b/src/async/nntp/MCNNTPFetchArticleOperation.cc @@ -1,5 +1,5 @@ // -// MCMCNNTPFetchArticlesOperation.cpp +// MCNNTPFetchArticleOperation.cpp // mailcore2 // // Created by Robert Widmann on 8/13/14. diff --git a/src/async/nntp/MCNNTPFetchArticleOperation.h b/src/async/nntp/MCNNTPFetchArticleOperation.h index 0ffa817c..7b11ae16 100644 --- a/src/async/nntp/MCNNTPFetchArticleOperation.h +++ b/src/async/nntp/MCNNTPFetchArticleOperation.h @@ -1,5 +1,5 @@ // -// MCMCNNTPFetchArticlesOperation.h +// MCNNTPFetchArticleOperation.h // mailcore2 // // Created by Robert Widmann on 8/13/14. diff --git a/src/async/nntp/MCNNTPFetchArticlesOperation.cc b/src/async/nntp/MCNNTPFetchArticlesOperation.cc deleted file mode 100644 index a73c9000..00000000 --- a/src/async/nntp/MCNNTPFetchArticlesOperation.cc +++ /dev/null @@ -1,49 +0,0 @@ -// -// MCMCNNTPFetchArticlesOperation.cpp -// mailcore2 -// -// Created by Robert Widmann on 8/13/14. -// Copyright (c) 2014 MailCore. All rights reserved. -// - -#include "MCNNTPFetchArticlesOperation.h" - -#include "MCNNTPAsyncSession.h" -#include "MCNNTPSession.h" - -using namespace mailcore; - -NNTPFetchArticlesOperation::NNTPFetchArticlesOperation() -{ - mGroupName = NULL; - mArticles = NULL; -} - -NNTPFetchArticlesOperation::~NNTPFetchArticlesOperation() -{ - MC_SAFE_RELEASE(mGroupName); - MC_SAFE_RELEASE(mArticles); -} - -void NNTPFetchArticlesOperation::setGroupName(String * groupname) -{ - MC_SAFE_REPLACE_COPY(String, mGroupName, groupname); -} - -String * NNTPFetchArticlesOperation::groupName() -{ - return mGroupName; -} - -IndexSet * NNTPFetchArticlesOperation::articles() -{ - return mArticles; -} - -void NNTPFetchArticlesOperation::main() -{ - ErrorCode error; - mArticles = session()->session()->fetchAllArticles(mGroupName, &error); - setError(error); - MC_SAFE_RETAIN(mArticles); -} diff --git a/src/async/nntp/MCNNTPFetchArticlesOperation.h b/src/async/nntp/MCNNTPFetchArticlesOperation.h deleted file mode 100644 index e5fdc22e..00000000 --- a/src/async/nntp/MCNNTPFetchArticlesOperation.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// MCMCNNTPFetchArticlesOperation.h -// mailcore2 -// -// Created by Robert Widmann on 8/13/14. -// Copyright (c) 2014 MailCore. All rights reserved. -// - -#ifndef MAILCORE_MCNNTPFETCHARTICLESOPERATION_H - -#define MAILCORE_MCNNTPFETCHARTICLESOPERATION_H - -#include - -#ifdef __cplusplus - -namespace mailcore { - - class NNTPFetchArticlesOperation : public NNTPOperation { - public: - NNTPFetchArticlesOperation(); - virtual ~NNTPFetchArticlesOperation(); - - virtual void setGroupName(String * groupName); - virtual String * groupName(); - - virtual IndexSet * articles(); - - public: // subclass behavior - virtual void main(); - - private: - String * mGroupName; - IndexSet * mArticles; - }; - -} - -#endif - -#endif diff --git a/src/cmake/async.cmake b/src/cmake/async.cmake index 43cced00..58f410d4 100644 --- a/src/cmake/async.cmake +++ b/src/cmake/async.cmake @@ -57,7 +57,7 @@ set(async_nntp_files async/nntp/MCNNTPCheckAccountOperation.cc async/nntp/MCNNTPDisconnectOperation.cc async/nntp/MCNNTPFetchArticleOperation.cc - async/nntp/MCNNTPFetchArticlesOperation.cc + async/nntp/MCNNTPFetchAllArticlesOperation.cc async/nntp/MCNNTPFetchHeaderOperation.cc async/nntp/MCNNTPListNewsgroupsOperation.cc async/nntp/MCNNTPFetchOverviewOperation.cc diff --git a/src/cmake/objc.cmake b/src/cmake/objc.cmake index 72d50147..de4d8d06 100644 --- a/src/cmake/objc.cmake +++ b/src/cmake/objc.cmake @@ -77,7 +77,7 @@ set(objc_smtp_files set(objc_nntp_files objc/nntp/MCONNTPDisconnectOperation.mm objc/nntp/MCONNTPFetchArticleOperation.mm - objc/nntp/MCONNTPFetchArticlesOperation.mm + objc/nntp/MCONNTPFetchAllArticlesOperation.mm objc/nntp/MCONNTPFetchHeaderOperation.mm objc/nntp/MCONNTPGroupInfo.mm objc/nntp/MCONNTPListNewsgroupsOperation.mm diff --git a/src/cmake/public-headers.cmake b/src/cmake/public-headers.cmake index 0050aadf..d25e44a9 100644 --- a/src/cmake/public-headers.cmake +++ b/src/cmake/public-headers.cmake @@ -108,7 +108,7 @@ async/nntp/MCNNTPAsyncSession.h async/nntp/MCNNTPCheckAccountOperation.h async/nntp/MCNNTPDisconnectOperation.h async/nntp/MCNNTPFetchArticleOperation.h -async/nntp/MCNNTPFetchArticlesOperation.h +async/nntp/MCNNTPFetchAllArticlesOperation.h async/nntp/MCNNTPFetchHeaderOperation.h async/nntp/MCNNTPListNewsgroupsOperation.h async/nntp/MCNNTPFetchOverviewOperation.h @@ -189,7 +189,7 @@ objc/nntp/MCONNTP.h objc/nntp/MCONNTPDisconnectOperation.h objc/nntp/MCONNTPFetchArticleOperation.h objc/nntp/MCONNTPFetchArticleOperation.mm -objc/nntp/MCONNTPFetchArticlesOperation.h +objc/nntp/MCONNTPFetchAllArticlesOperation.h objc/nntp/MCONNTPFetchArticlesOperation.mm objc/nntp/MCONNTPFetchHeaderOperation.h objc/nntp/MCONNTPFetchHeaderOperation.mm diff --git a/src/objc/nntp/MCONNTP.h b/src/objc/nntp/MCONNTP.h index 364db25b..71979dfa 100644 --- a/src/objc/nntp/MCONNTP.h +++ b/src/objc/nntp/MCONNTP.h @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/objc/nntp/MCONNTPFetchAllArticlesOperation.h b/src/objc/nntp/MCONNTPFetchAllArticlesOperation.h new file mode 100644 index 00000000..34ccee7e --- /dev/null +++ b/src/objc/nntp/MCONNTPFetchAllArticlesOperation.h @@ -0,0 +1,35 @@ +// +// MCONNTPFetchAllArticlesOperation.h +// mailcore2 +// +// Created by Robert Widmann on 8/13/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#ifndef MAILCORE_MCONNTPFETCHARTICLESOPERATION_H + +#define MAILCORE_MCONNTPFETCHARTICLESOPERATION_H + +#import +#import + +@class MCOIndexSet; + +/** This is an asynchronous operation that will fetch the list of a messages on the NNTP server. */ +@interface MCONNTPFetchAllArticlesOperation : MCONNTPOperation + +/** + Starts the asynchronous fetch operation. + + @param completionBlock Called when the operation is finished. + + - On success `error` will be nil and `articles` will be an index set of article numbers. + + - On failure, `error` will be set with `MCOErrorDomain` as domain and an + error code available in MCOConstants.h, `messages` will be null + */ +- (void) start:(void (^)(NSError * error, MCOIndexSet * articles))completionBlock; + +@end + +#endif diff --git a/src/objc/nntp/MCONNTPFetchAllArticlesOperation.mm b/src/objc/nntp/MCONNTPFetchAllArticlesOperation.mm new file mode 100644 index 00000000..947f0324 --- /dev/null +++ b/src/objc/nntp/MCONNTPFetchAllArticlesOperation.mm @@ -0,0 +1,70 @@ +// +// MCONNTPFetchAllArticlesOperation.m +// mailcore2 +// +// Created by Robert Widmann on 8/13/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#import "MCONNTPFetchAllArticlesOperation.h" + +#include "MCAsyncNNTP.h" + +#import "MCOOperation+Private.h" +#import "MCOUtils.h" + +typedef void (^CompletionType)(NSError *error, MCOIndexSet * articles); + +@implementation MCONNTPFetchAllArticlesOperation { + CompletionType _completionBlock; +} + +#define nativeType mailcore::NNTPFetchAllArticlesOperation + ++ (void) load +{ + MCORegisterClass(self, &typeid(nativeType)); +} + ++ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object +{ + nativeType * op = (nativeType *) object; + return [[[self alloc] initWithMCOperation:op] autorelease]; +} + +- (void) dealloc +{ + [_completionBlock release]; + [super dealloc]; +} + +- (void) start:(void (^)(NSError *error, MCOIndexSet * articles))completionBlock +{ + _completionBlock = [completionBlock copy]; + [self start]; +} + +- (void) cancel +{ + [_completionBlock release]; + _completionBlock = nil; + [super cancel]; +} + +- (void) operationCompleted +{ + if (_completionBlock == NULL) + return; + + nativeType *op = MCO_NATIVE_INSTANCE; + if (op->error() == mailcore::ErrorNone) { + _completionBlock(nil, MCO_TO_OBJC(op->articles())); + } else { + _completionBlock([NSError mco_errorWithErrorCode:op->error()], nil); + } + [_completionBlock release]; + _completionBlock = nil; +} + + +@end diff --git a/src/objc/nntp/MCONNTPFetchArticlesOperation.h b/src/objc/nntp/MCONNTPFetchArticlesOperation.h deleted file mode 100644 index 35a0889d..00000000 --- a/src/objc/nntp/MCONNTPFetchArticlesOperation.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// MCONNTPFetchArticlesOperation.h -// mailcore2 -// -// Created by Robert Widmann on 8/13/14. -// Copyright (c) 2014 MailCore. All rights reserved. -// - -#ifndef MAILCORE_MCONNTPFETCHARTICLESOPERATION_H - -#define MAILCORE_MCONNTPFETCHARTICLESOPERATION_H - -#import -#import - -@class MCOIndexSet; - -/** This is an asynchronous operation that will fetch the list of a messages on the NNTP server. */ -@interface MCONNTPFetchArticlesOperation : MCONNTPOperation - -/** - Starts the asynchronous fetch operation. - - @param completionBlock Called when the operation is finished. - - - On success `error` will be nil and `articles` will be an index set of article numbers. - - - On failure, `error` will be set with `MCOErrorDomain` as domain and an - error code available in MCOConstants.h, `messages` will be null - */ -- (void) start:(void (^)(NSError * error, MCOIndexSet * articles))completionBlock; - -@end - -#endif diff --git a/src/objc/nntp/MCONNTPFetchArticlesOperation.mm b/src/objc/nntp/MCONNTPFetchArticlesOperation.mm deleted file mode 100644 index 75c21cb9..00000000 --- a/src/objc/nntp/MCONNTPFetchArticlesOperation.mm +++ /dev/null @@ -1,70 +0,0 @@ -// -// MCONNTPFetchArticlesOperation.m -// mailcore2 -// -// Created by Robert Widmann on 8/13/14. -// Copyright (c) 2014 MailCore. All rights reserved. -// - -#import "MCONNTPFetchArticlesOperation.h" - -#include "MCAsyncNNTP.h" - -#import "MCOOperation+Private.h" -#import "MCOUtils.h" - -typedef void (^CompletionType)(NSError *error, MCOIndexSet * articles); - -@implementation MCONNTPFetchArticlesOperation { - CompletionType _completionBlock; -} - -#define nativeType mailcore::NNTPFetchArticlesOperation - -+ (void) load -{ - MCORegisterClass(self, &typeid(nativeType)); -} - -+ (NSObject *) mco_objectWithMCObject:(mailcore::Object *)object -{ - nativeType * op = (nativeType *) object; - return [[[self alloc] initWithMCOperation:op] autorelease]; -} - -- (void) dealloc -{ - [_completionBlock release]; - [super dealloc]; -} - -- (void) start:(void (^)(NSError *error, MCOIndexSet * articles))completionBlock -{ - _completionBlock = [completionBlock copy]; - [self start]; -} - -- (void) cancel -{ - [_completionBlock release]; - _completionBlock = nil; - [super cancel]; -} - -- (void) operationCompleted -{ - if (_completionBlock == NULL) - return; - - nativeType *op = MCO_NATIVE_INSTANCE; - if (op->error() == mailcore::ErrorNone) { - _completionBlock(nil, MCO_TO_OBJC(op->articles())); - } else { - _completionBlock([NSError mco_errorWithErrorCode:op->error()], nil); - } - [_completionBlock release]; - _completionBlock = nil; -} - - -@end diff --git a/src/objc/nntp/MCONNTPSession.h b/src/objc/nntp/MCONNTPSession.h index 566756a1..413de507 100644 --- a/src/objc/nntp/MCONNTPSession.h +++ b/src/objc/nntp/MCONNTPSession.h @@ -16,7 +16,7 @@ #import -@class MCONNTPFetchArticlesOperation; +@class MCONNTPFetchAllArticlesOperation; @class MCONNTPFetchHeaderOperation; @class MCONNTPFetchArticleOperation; @class MCONNTPListNewsgroupsOperation; @@ -71,11 +71,11 @@ /** Returns an operation that will fetch the list of article numbers. - MCONNTPFetchArticlesOperation * op = [session fetchAllArticlesOperation:@"comp.lang.c"]; + MCONNTPFetchAllArticlesOperation * op = [session fetchAllArticlesOperation:@"comp.lang.c"]; [op start:^(NSError * error, MCOIndexSet * articles) { }]; */ -- (MCONNTPFetchArticlesOperation *) fetchAllArticlesOperation:(NSString *)group; +- (MCONNTPFetchAllArticlesOperation *) fetchAllArticlesOperation:(NSString *)group; /** Returns an operation that will fetch the header of the given message. diff --git a/src/objc/nntp/MCONNTPSession.mm b/src/objc/nntp/MCONNTPSession.mm index 10011e6e..95c87364 100644 --- a/src/objc/nntp/MCONNTPSession.mm +++ b/src/objc/nntp/MCONNTPSession.mm @@ -13,7 +13,7 @@ #import "MCOUtils.h" #import "MCONNTPOperation.h" #import "MCOOperation+Private.h" -#import "MCONNTPFetchArticlesOperation.h" +#import "MCONNTPFetchAllArticlesOperation.h" #import "MCONNTPOperation+Private.h" using namespace mailcore; @@ -122,9 +122,9 @@ MCO_OBJC_SYNTHESIZE_SCALAR(dispatch_queue_t, dispatch_queue_t, setDispatchQueue, return result; } -- (MCONNTPFetchArticlesOperation *) fetchAllArticlesOperation:(NSString *)group +- (MCONNTPFetchAllArticlesOperation *) fetchAllArticlesOperation:(NSString *)group { - mailcore::NNTPFetchArticlesOperation * coreOp = MCO_NATIVE_INSTANCE->fetchAllArticlesOperation(MCO_FROM_OBJC(mailcore::String, group)); + mailcore::NNTPFetchAllArticlesOperation * coreOp = MCO_NATIVE_INSTANCE->fetchAllArticlesOperation(MCO_FROM_OBJC(mailcore::String, group)); return MCO_TO_OBJC_OP(coreOp); } -- cgit v1.2.3 From d0b53a64bdbeaa71d80210640534abea1a85f8d2 Mon Sep 17 00:00:00 2001 From: "Hoa V. DINH" Date: Fri, 24 Oct 2014 07:59:02 -0700 Subject: Fixed build (#931), #924 broke it --- build-mac/mailcore2.xcodeproj/project.pbxproj | 16 ++++++++++++++++ example/mac/macExample/macExample/AppDelegate.m | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 8f9f6803..64b8a727 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -1252,6 +1252,14 @@ 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 */; }; C6D42C2C16AE0509002BB4F9 /* NSString+MCO.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6D42C1B16AE03D6002BB4F9 /* NSString+MCO.h */; }; + C6D4FD3119FA9E80001F7E01 /* MCNNTPFetchOverviewOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */; }; + C6D4FD3219FA9E8D001F7E01 /* MCNNTPFetchOverviewOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98619F7159700FE35D2 /* MCNNTPFetchOverviewOperation.h */; }; + C6D4FD3319FA9EB3001F7E01 /* MCONNTPFetchOverviewOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; }; + C6D4FD3419FA9EB6001F7E01 /* MCONNTPFetchOverviewOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98119F7153B00FE35D2 /* MCONNTPFetchOverviewOperation.h */; }; + C6D4FD3519FA9F4D001F7E01 /* MCONNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */; }; + C6D4FD3619FA9F4F001F7E01 /* MCNNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; }; + C6D4FD3719FA9F55001F7E01 /* MCNNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; }; + C6D4FD3819FA9F57001F7E01 /* MCONNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */; }; C6D6F7F9171E595D006F5B28 /* MCJSON.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F7F7171E595D006F5B28 /* MCJSON.cc */; }; C6D6F7FA171E595D006F5B28 /* MCJSON.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F7F7171E595D006F5B28 /* MCJSON.cc */; }; C6D6F954171E5CB8006F5B28 /* MCMD5.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F950171E5CB8006F5B28 /* MCMD5.cc */; }; @@ -1405,6 +1413,10 @@ dstPath = include/MailCore; dstSubfolderSpec = 16; files = ( + C6D4FD3819FA9F57001F7E01 /* MCONNTPFetchServerTimeOperation.h in CopyFiles */, + C6D4FD3719FA9F55001F7E01 /* MCNNTPFetchServerTimeOperation.h in CopyFiles */, + C6D4FD3419FA9EB6001F7E01 /* MCONNTPFetchOverviewOperation.h in CopyFiles */, + C6D4FD3119FA9E80001F7E01 /* MCNNTPFetchOverviewOperation.h in CopyFiles */, 849189A318C94023002063A3 /* MCNNTP.h in CopyFiles */, 849189A418C94023002063A3 /* MCNNTPSession.h in CopyFiles */, 84B639F317F2839C003B5BA2 /* MCOPOPNoopOperation.h in CopyFiles */, @@ -1626,6 +1638,10 @@ dstPath = include/MailCore; dstSubfolderSpec = 16; files = ( + C6D4FD3619FA9F4F001F7E01 /* MCNNTPFetchServerTimeOperation.h in CopyFiles */, + C6D4FD3519FA9F4D001F7E01 /* MCONNTPFetchServerTimeOperation.h in CopyFiles */, + C6D4FD3319FA9EB3001F7E01 /* MCONNTPFetchOverviewOperation.h in CopyFiles */, + C6D4FD3219FA9E8D001F7E01 /* MCNNTPFetchOverviewOperation.h in CopyFiles */, 849F53D817F28443002D417F /* MCOPOPNoopOperation.h in CopyFiles */, 849F53D917F28443002D417F /* MCIMAPNoopOperation.h in CopyFiles */, 849F53DA17F28443002D417F /* MCPOPNoopOperation.h in CopyFiles */, diff --git a/example/mac/macExample/macExample/AppDelegate.m b/example/mac/macExample/macExample/AppDelegate.m index b5f07f85..05f7748a 100644 --- a/example/mac/macExample/macExample/AppDelegate.m +++ b/example/mac/macExample/macExample/AppDelegate.m @@ -146,7 +146,7 @@ finishedRefreshWithFetcher:(GTMHTTPFetcher *)fetcher self.checkOp = [self.session checkAccountOperation]; self.session.connectionLogger = ^(void * connectionID, MCOConnectionLogType type, NSData * data) { if (type != MCOConnectionLogTypeSentPrivate) { - NSLog(@"event logged:%p %i withData: %@", connectionID, type, [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]); + NSLog(@"event logged:%p %i withData: %@", connectionID, (int) type, [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]); } }; -- cgit v1.2.3 From 46242b129d4e22a0d95a23263339cb273c98b44d Mon Sep 17 00:00:00 2001 From: "Hoa V. DINH" Date: Fri, 24 Oct 2014 23:32:23 -0700 Subject: Memory usage optimization --- build-mac/mailcore2.xcodeproj/project.pbxproj | 6 ++++ src/cmake/core.cmake | 1 + src/core/basetypes/MCData.cc | 11 ++++-- src/core/basetypes/MCData.h | 1 + src/core/rfc822/MCMessageParser.cc | 49 +++++++++++++++++++-------- src/core/rfc822/MCMessageParser.h | 15 ++++++++ 6 files changed, 67 insertions(+), 16 deletions(-) (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 64b8a727..e4763f82 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -1260,6 +1260,8 @@ C6D4FD3619FA9F4F001F7E01 /* MCNNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; }; C6D4FD3719FA9F55001F7E01 /* MCNNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA98E19F724E500FE35D2 /* MCNNTPFetchServerTimeOperation.h */; }; C6D4FD3819FA9F57001F7E01 /* MCONNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */; }; + C6D4FD3F19FB7534001F7E01 /* MCMessageParserMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D4FD3E19FB7534001F7E01 /* MCMessageParserMac.mm */; }; + C6D4FD4019FB7786001F7E01 /* MCMessageParserMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D4FD3E19FB7534001F7E01 /* MCMessageParserMac.mm */; }; C6D6F7F9171E595D006F5B28 /* MCJSON.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F7F7171E595D006F5B28 /* MCJSON.cc */; }; C6D6F7FA171E595D006F5B28 /* MCJSON.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F7F7171E595D006F5B28 /* MCJSON.cc */; }; C6D6F954171E5CB8006F5B28 /* MCMD5.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F950171E5CB8006F5B28 /* MCMD5.cc */; }; @@ -2255,6 +2257,7 @@ C6D42C1A16AE03D6002BB4F9 /* NSData+MCO.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSData+MCO.mm"; sourceTree = ""; }; C6D42C1B16AE03D6002BB4F9 /* NSString+MCO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MCO.h"; sourceTree = ""; }; C6D42C1C16AE03D6002BB4F9 /* NSString+MCO.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSString+MCO.mm"; sourceTree = ""; }; + C6D4FD3E19FB7534001F7E01 /* MCMessageParserMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCMessageParserMac.mm; sourceTree = ""; }; C6D6F7F7171E595D006F5B28 /* MCJSON.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCJSON.cc; sourceTree = ""; }; C6D6F7F8171E595D006F5B28 /* MCJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCJSON.h; sourceTree = ""; }; C6D6F950171E5CB8006F5B28 /* MCMD5.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCMD5.cc; sourceTree = ""; }; @@ -2909,6 +2912,7 @@ C64EA6E3169E847800778456 /* MCMessageBuilder.h */, C64EA6E4169E847800778456 /* MCMessageParser.cc */, C64EA6E5169E847800778456 /* MCMessageParser.h */, + C6D4FD3E19FB7534001F7E01 /* MCMessageParserMac.mm */, C64EA6E6169E847800778456 /* MCMessagePart.cc */, C64EA6E7169E847800778456 /* MCMessagePart.h */, C64EA6E8169E847800778456 /* MCMultipart.cc */, @@ -4184,6 +4188,7 @@ C6E665BB1796500C0063F2CF /* unzip.c in Sources */, C6F61F9917016B460073032E /* MCOIMAPSearchExpression.mm in Sources */, C6F61F9F17016EA10073032E /* MCOIMAPFolderInfo.m in Sources */, + C6D4FD3F19FB7534001F7E01 /* MCMessageParserMac.mm in Sources */, C6F61FB51702AB340073032E /* MCOIMAPBaseOperation.mm in Sources */, C608167517759967001F1018 /* MCSMTPDisconnectOperation.cc in Sources */, C6A81BBF17068E5E00882C15 /* MCOSMTPSession.mm in Sources */, @@ -4420,6 +4425,7 @@ C6BA2C111705F4E6003F0E9E /* MCOIMAPCapabilityOperation.mm in Sources */, C6E665BC1796500C0063F2CF /* unzip.c in Sources */, C6BA2C121705F4E6003F0E9E /* MCOIMAPSearchExpression.mm in Sources */, + C6D4FD4019FB7786001F7E01 /* MCMessageParserMac.mm in Sources */, C6BA2C131705F4E6003F0E9E /* MCOIMAPFolderInfo.m in Sources */, C6BA2C141705F4E6003F0E9E /* MCOIMAPBaseOperation.mm in Sources */, C608167617759968001F1018 /* MCSMTPDisconnectOperation.cc in Sources */, diff --git a/src/cmake/core.cmake b/src/cmake/core.cmake index e69e4fc0..59139908 100644 --- a/src/cmake/core.cmake +++ b/src/cmake/core.cmake @@ -14,6 +14,7 @@ IF(APPLE) core/basetypes/MCAutoreleasePoolMac.mm core/basetypes/MCMainThread.mm core/basetypes/MCObjectMac.mm + core/rfc822/MCMessageParserMac.mm ) ENDIF() diff --git a/src/core/basetypes/MCData.cc b/src/core/basetypes/MCData.cc index b851ed22..a4426e49 100644 --- a/src/core/basetypes/MCData.cc +++ b/src/core/basetypes/MCData.cc @@ -403,6 +403,13 @@ String * Data::charsetWithFilteredHTML(bool filterHTML, String * hintCharset) return result; } +void Data::replaceWithAllocatedBytes(char * bytes, unsigned int length) +{ + free(mBytes); + mBytes = (char *) bytes; + mLength = length; +} + Data * Data::dataWithContentsOfFile(String * filename) { int r; @@ -432,8 +439,8 @@ Data * Data::dataWithContentsOfFile(String * filename) return NULL; } - data = Data::dataWithBytes(buf, (unsigned int) stat_buf.st_size); - free(buf); + data = Data::data(); + data->replaceWithAllocatedBytes(buf, (unsigned int) stat_buf.st_size); fclose(f); diff --git a/src/core/basetypes/MCData.h b/src/core/basetypes/MCData.h index 6ba056e7..e7363644 100644 --- a/src/core/basetypes/MCData.h +++ b/src/core/basetypes/MCData.h @@ -58,6 +58,7 @@ namespace mailcore { void allocate(unsigned int length); void reset(); String * charsetWithFilteredHTMLWithoutHint(bool filterHTML); + void replaceWithAllocatedBytes(char * bytes, unsigned int length); }; diff --git a/src/core/rfc822/MCMessageParser.cc b/src/core/rfc822/MCMessageParser.cc index 4eb6046e..f8a25bda 100644 --- a/src/core/rfc822/MCMessageParser.cc +++ b/src/core/rfc822/MCMessageParser.cc @@ -1,6 +1,9 @@ #include "MCMessageParser.h" #include +#if __APPLE__ +#include +#endif #include "MCAttachment.h" #include "MCMessageHeader.h" @@ -25,43 +28,43 @@ void MessageParser::init() { mData = NULL; mMainPart = NULL; +#if __APPLE__ + mNSData = NULL; +#endif } -MessageParser::MessageParser(Data * data) +void MessageParser::setBytes(char * dataBytes, unsigned int dataLength) { - init(); - const char * start = NULL; unsigned int length = 0; - if (data->length() > 5) { - if (strncmp(data->bytes(), "From ", 5) == 0) { - start = data->bytes(); - for(unsigned int i = 0 ; i < data->length() ; i ++) { + if (dataLength > 5) { + if (strncmp(dataBytes, "From ", 5) == 0) { + start = dataBytes; + for(unsigned int i = 0 ; i < dataLength ; i ++) { if (start[i] == '\n') { start = start + i + 1; - length = data->length() - (i + 1); + length = dataLength - (i + 1); break; } } } } if (start != NULL) { - data = Data::dataWithBytes(start, length); + dataBytes = (char *) start; + dataLength = length; } - mData = (Data *) data->retain(); - mailmessage * msg; struct mailmime * mime; - msg = data_message_init(data->bytes(), data->length()); + msg = data_message_init(dataBytes, dataLength); mailmessage_get_bodystructure(msg, &mime); mMainPart = (AbstractPart *) Attachment::attachmentsWithMIME(msg->msg_mime)->retain(); mMainPart->applyUniquePartID(); size_t cur_token = 0; struct mailimf_fields * fields; - int r = mailimf_envelope_and_optional_fields_parse(data->bytes(), data->length(), &cur_token, &fields); + int r = mailimf_envelope_and_optional_fields_parse(dataBytes, dataLength, &cur_token, &fields); if (r == MAILIMAP_NO_ERROR) { header()->importIMFFields(fields); mailimf_fields_free(fields); @@ -69,6 +72,14 @@ MessageParser::MessageParser(Data * data) mailmessage_free(msg); } +MessageParser::MessageParser(Data * data) +{ + init(); + + setBytes(data->bytes(), data->length()); + mData = (Data *) data->retain(); +} + MessageParser::MessageParser(MessageParser * other) : AbstractMessage(other) { init(); @@ -80,6 +91,11 @@ MessageParser::~MessageParser() { MC_SAFE_RELEASE(mMainPart); MC_SAFE_RELEASE(mData); +#if __APPLE__ + if (mNSData != NULL) { + CFRelease(mNSData); + } +#endif } AbstractPart * MessageParser::mainPart() @@ -89,7 +105,12 @@ AbstractPart * MessageParser::mainPart() Data * MessageParser::data() { - return mData; + if (mNSData != NULL) { + return dataFromNSData(); + } + else { + return mData; + } } String * MessageParser::description() diff --git a/src/core/rfc822/MCMessageParser.h b/src/core/rfc822/MCMessageParser.h index bf4687cb..3b34ab9e 100644 --- a/src/core/rfc822/MCMessageParser.h +++ b/src/core/rfc822/MCMessageParser.h @@ -5,6 +5,9 @@ #include #include #include +#ifdef __OBJC__ +#import +#endif #ifdef __cplusplus @@ -39,11 +42,23 @@ namespace mailcore { virtual HashMap * serializable(); +#ifdef __OBJC__ + public: + static MessageParser * messageParserWithData(NSData * data); + MessageParser(NSData * data); +#endif + private: Data * mData; AbstractPart * mMainPart; void init(); +#if __APPLE__ + void * mNSData; +#endif + private: + void setBytes(char * bytes, unsigned int length); + Data * dataFromNSData(); }; }; -- cgit v1.2.3 From 386f84abe048c4b37cef42195d612b480021df3f Mon Sep 17 00:00:00 2001 From: "Hoa V. DINH" Date: Fri, 24 Oct 2014 23:55:12 -0700 Subject: Fixed crash, additional memory usage optimization --- build-mac/mailcore2.xcodeproj/project.pbxproj | 6 +++++ src/cmake/core.cmake | 1 + src/core/basetypes/MCData.h | 7 ++++++ src/core/basetypes/MCDataMac.mm | 22 +++++++++++++++++ src/core/rfc822/MCMessageParser.cc | 6 ++--- src/core/rfc822/MCMessageParser.h | 10 ++++---- src/core/rfc822/MCMessageParserMac.mm | 34 +++++++++++++++++++++++++++ src/objc/imap/MCOIMAPFetchContentOperation.mm | 2 +- 8 files changed, 79 insertions(+), 9 deletions(-) create mode 100644 src/core/basetypes/MCDataMac.mm create mode 100644 src/core/rfc822/MCMessageParserMac.mm (limited to 'build-mac') diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index e4763f82..23efb138 100755 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -1262,6 +1262,8 @@ C6D4FD3819FA9F57001F7E01 /* MCONNTPFetchServerTimeOperation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CFA99319F725CB00FE35D2 /* MCONNTPFetchServerTimeOperation.h */; }; C6D4FD3F19FB7534001F7E01 /* MCMessageParserMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D4FD3E19FB7534001F7E01 /* MCMessageParserMac.mm */; }; C6D4FD4019FB7786001F7E01 /* MCMessageParserMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D4FD3E19FB7534001F7E01 /* MCMessageParserMac.mm */; }; + C6D4FD4319FB7DAA001F7E01 /* MCDataMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D4FD4219FB7DAA001F7E01 /* MCDataMac.mm */; }; + C6D4FD4419FB7DB2001F7E01 /* MCDataMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D4FD4219FB7DAA001F7E01 /* MCDataMac.mm */; }; C6D6F7F9171E595D006F5B28 /* MCJSON.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F7F7171E595D006F5B28 /* MCJSON.cc */; }; C6D6F7FA171E595D006F5B28 /* MCJSON.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F7F7171E595D006F5B28 /* MCJSON.cc */; }; C6D6F954171E5CB8006F5B28 /* MCMD5.cc in Sources */ = {isa = PBXBuildFile; fileRef = C6D6F950171E5CB8006F5B28 /* MCMD5.cc */; }; @@ -2258,6 +2260,7 @@ C6D42C1B16AE03D6002BB4F9 /* NSString+MCO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MCO.h"; sourceTree = ""; }; C6D42C1C16AE03D6002BB4F9 /* NSString+MCO.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSString+MCO.mm"; sourceTree = ""; }; C6D4FD3E19FB7534001F7E01 /* MCMessageParserMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCMessageParserMac.mm; sourceTree = ""; }; + C6D4FD4219FB7DAA001F7E01 /* MCDataMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCDataMac.mm; sourceTree = ""; }; C6D6F7F7171E595D006F5B28 /* MCJSON.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCJSON.cc; sourceTree = ""; }; C6D6F7F8171E595D006F5B28 /* MCJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCJSON.h; sourceTree = ""; }; C6D6F950171E5CB8006F5B28 /* MCMD5.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MCMD5.cc; sourceTree = ""; }; @@ -2809,6 +2812,7 @@ C68B2AF617797389005E61EF /* MCConnectionLoggerUtils.h */, C64EA6A9169E847800778456 /* MCData.cc */, C64EA6AA169E847800778456 /* MCData.h */, + C6D4FD4219FB7DAA001F7E01 /* MCDataMac.mm */, C64EA6AB169E847800778456 /* MCHash.cc */, C64EA6AC169E847800778456 /* MCHash.h */, C64EA6AD169E847800778456 /* MCHashMap.cc */, @@ -4150,6 +4154,7 @@ C64BB23516EDAA17000DB34C /* MCOAbstractMessage.mm in Sources */, C64BB23916EDAA3F000DB34C /* MCOAbstractMessagePart.mm in Sources */, C64BB23C16EDAAC7000DB34C /* MCOAbstractMultipart.mm in Sources */, + C6D4FD4319FB7DAA001F7E01 /* MCDataMac.mm in Sources */, C64BB23F16EDAAE1000DB34C /* MCOAbstractPart.mm in Sources */, C64BB24216EDAAF4000DB34C /* MCOAddress.mm in Sources */, C64BB24516EDAAFE000DB34C /* MCOMessageHeader.mm in Sources */, @@ -4387,6 +4392,7 @@ 84D73765199BFFC7005124E5 /* MCONNTPSession.mm in Sources */, C6BA2BF01705F4E6003F0E9E /* MCOAbstractMessage.mm in Sources */, C6BA2BF11705F4E6003F0E9E /* MCOAbstractMessagePart.mm in Sources */, + C6D4FD4419FB7DB2001F7E01 /* MCDataMac.mm in Sources */, C6BA2BF21705F4E6003F0E9E /* MCOAbstractMultipart.mm in Sources */, C6BA2BF31705F4E6003F0E9E /* MCOAbstractPart.mm in Sources */, C6BA2BF41705F4E6003F0E9E /* MCOAddress.mm in Sources */, diff --git a/src/cmake/core.cmake b/src/cmake/core.cmake index 59139908..4b0782cf 100644 --- a/src/cmake/core.cmake +++ b/src/cmake/core.cmake @@ -14,6 +14,7 @@ IF(APPLE) core/basetypes/MCAutoreleasePoolMac.mm core/basetypes/MCMainThread.mm core/basetypes/MCObjectMac.mm + core/basetypes/MCDataMac.mm core/rfc822/MCMessageParserMac.mm ) ENDIF() diff --git a/src/core/basetypes/MCData.h b/src/core/basetypes/MCData.h index e7363644..131cb722 100644 --- a/src/core/basetypes/MCData.h +++ b/src/core/basetypes/MCData.h @@ -5,6 +5,10 @@ #include #include +#ifdef __APPLE__ +#import +#endif + #ifdef __cplusplus namespace mailcore { @@ -41,6 +45,9 @@ namespace mailcore { public: // private virtual String * charsetWithFilteredHTML(bool filterHTML, String * hintCharset = NULL); +#ifdef __APPLE__ + virtual CFDataRef destructiveNSData(); +#endif public: // subclass behavior Data(Data * otherData); diff --git a/src/core/basetypes/MCDataMac.mm b/src/core/basetypes/MCDataMac.mm new file mode 100644 index 00000000..8081b1f9 --- /dev/null +++ b/src/core/basetypes/MCDataMac.mm @@ -0,0 +1,22 @@ +// +// MCDataMac.m +// mailcore2 +// +// Created by Hoa V. DINH on 10/24/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#include "MCData.h" + +#import + +using namespace mailcore; + +CFDataRef Data::destructiveNSData() +{ + NSData * result = [NSData dataWithBytesNoCopy:(void *) mBytes length:mLength]; + mBytes = NULL; + mAllocated = 0; + mLength = 0; + return (CFDataRef) result; +} diff --git a/src/core/rfc822/MCMessageParser.cc b/src/core/rfc822/MCMessageParser.cc index f8a25bda..404bc862 100644 --- a/src/core/rfc822/MCMessageParser.cc +++ b/src/core/rfc822/MCMessageParser.cc @@ -105,12 +105,12 @@ AbstractPart * MessageParser::mainPart() Data * MessageParser::data() { +#if __APPLE__ if (mNSData != NULL) { return dataFromNSData(); } - else { - return mData; - } +#endif + return mData; } String * MessageParser::description() diff --git a/src/core/rfc822/MCMessageParser.h b/src/core/rfc822/MCMessageParser.h index 3b34ab9e..eba0e052 100644 --- a/src/core/rfc822/MCMessageParser.h +++ b/src/core/rfc822/MCMessageParser.h @@ -5,8 +5,8 @@ #include #include #include -#ifdef __OBJC__ -#import +#ifdef __APPLE__ +#import #endif #ifdef __cplusplus @@ -42,10 +42,10 @@ namespace mailcore { virtual HashMap * serializable(); -#ifdef __OBJC__ +#ifdef __APPLE__ public: - static MessageParser * messageParserWithData(NSData * data); - MessageParser(NSData * data); + static MessageParser * messageParserWithData(CFDataRef data); + MessageParser(CFDataRef data); #endif private: diff --git a/src/core/rfc822/MCMessageParserMac.mm b/src/core/rfc822/MCMessageParserMac.mm new file mode 100644 index 00000000..6748ed1a --- /dev/null +++ b/src/core/rfc822/MCMessageParserMac.mm @@ -0,0 +1,34 @@ +// +// MCMessageParserMac.m +// mailcore2 +// +// Created by Hoa V. DINH on 10/24/14. +// Copyright (c) 2014 MailCore. All rights reserved. +// + +#include "MCMessageParser.h" + +#import + +#import "NSData+MCO.h" + +using namespace mailcore; + +MessageParser * MessageParser::messageParserWithData(CFDataRef data) +{ + MessageParser * parser = new MessageParser(data); + return (MessageParser *) parser->autorelease(); +} + +MessageParser::MessageParser(CFDataRef data) +{ + init(); + + setBytes((char *) [(NSData *) data bytes], (unsigned int) [(NSData *) data length]); + mNSData = [(NSData *) data retain]; +} + +Data * MessageParser::dataFromNSData() +{ + return [(NSData *) mNSData mco_mcData]; +} diff --git a/src/objc/imap/MCOIMAPFetchContentOperation.mm b/src/objc/imap/MCOIMAPFetchContentOperation.mm index 791307ca..9ca4c1c4 100644 --- a/src/objc/imap/MCOIMAPFetchContentOperation.mm +++ b/src/objc/imap/MCOIMAPFetchContentOperation.mm @@ -61,7 +61,7 @@ typedef void (^CompletionType)(NSError *error, NSData * data); nativeType *op = MCO_NATIVE_INSTANCE; if (op->error() == mailcore::ErrorNone) { - _completionBlock(nil, MCO_TO_OBJC(op->data())); + _completionBlock(nil, (NSData *) op->data()->destructiveNSData()); } else { _completionBlock([NSError mco_errorWithErrorCode:op->error()], nil); } -- cgit v1.2.3