From 96f2623c2f1cba2fb5f625dbeae8a38eb20203c1 Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Tue, 21 Oct 2014 17:31:59 -0600 Subject: XOVER --- src/cmake/public-headers.cmake | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/cmake/public-headers.cmake') diff --git a/src/cmake/public-headers.cmake b/src/cmake/public-headers.cmake index 705fbc66..5c1c6b79 100644 --- a/src/cmake/public-headers.cmake +++ b/src/cmake/public-headers.cmake @@ -111,6 +111,7 @@ async/nntp/MCNNTPFetchArticleOperation.h async/nntp/MCNNTPFetchArticlesOperation.h async/nntp/MCNNTPFetchHeaderOperation.h async/nntp/MCNNTPListNewsgroupsOperation.h +async/nntp/MCNNTPFetchOverviewOperation.h async/nntp/MCNNTPOperation.h async/nntp/MCNNTPOperationCallback.h objc/MCObjC.h @@ -193,6 +194,7 @@ objc/nntp/MCONNTPFetchHeaderOperation.h objc/nntp/MCONNTPFetchHeaderOperation.mm objc/nntp/MCONNTPGroupInfo.h objc/nntp/MCONNTPListNewsgroupsOperation.h +objc/nntp/MCONNTPFetchOverviewOperation.h objc/nntp/MCONNTPOperation.h objc/nntp/MCONNTPSession.h objc/provider/MCOProvider.h -- 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 'src/cmake/public-headers.cmake') 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 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 'src/cmake/public-headers.cmake') 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 5a2dae95647818843027b1c09c812c8a99c98c35 Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Thu, 23 Oct 2014 18:17:08 -0600 Subject: Fix cmake build --- src/cmake/public-headers.cmake | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/cmake/public-headers.cmake') diff --git a/src/cmake/public-headers.cmake b/src/cmake/public-headers.cmake index d25e44a9..8b55c15e 100644 --- a/src/cmake/public-headers.cmake +++ b/src/cmake/public-headers.cmake @@ -188,11 +188,8 @@ objc/smtp/MCOSMTPOperation.h objc/nntp/MCONNTP.h objc/nntp/MCONNTPDisconnectOperation.h objc/nntp/MCONNTPFetchArticleOperation.h -objc/nntp/MCONNTPFetchArticleOperation.mm objc/nntp/MCONNTPFetchAllArticlesOperation.h -objc/nntp/MCONNTPFetchArticlesOperation.mm objc/nntp/MCONNTPFetchHeaderOperation.h -objc/nntp/MCONNTPFetchHeaderOperation.mm objc/nntp/MCONNTPGroupInfo.h objc/nntp/MCONNTPListNewsgroupsOperation.h objc/nntp/MCONNTPFetchOverviewOperation.h -- cgit v1.2.3