diff options
author | DINH Viêt Hoà <dinh.viet.hoa@gmail.com> | 2013-05-26 22:14:02 -0700 |
---|---|---|
committer | DINH Viêt Hoà <dinh.viet.hoa@gmail.com> | 2013-05-26 22:14:02 -0700 |
commit | 87c7c28dfd78f5b13b10ee7ad20886238ad4a348 (patch) | |
tree | 52ae35ff365acc4cb8441daca8f1509b2f924f77 | |
parent | 969f8ff5059736c5df0e97255916a457d26fa2a6 (diff) | |
parent | 4669aca9ec6fb10a1f8b6365e4fadb69b2cbe0ca (diff) |
Merge pull request #54 from pushkarsingh/master
Provider headers made external, Ability to select a different folder if different from current folder
-rw-r--r-- | build-mac/mailcore2.xcodeproj/project.pbxproj | 12 | ||||
-rw-r--r-- | src/core/imap/MCIMAPSession.cc | 8 | ||||
-rw-r--r-- | src/objc/MCOProvider.h | 17 | ||||
-rw-r--r-- | src/objc/MCObjC.h | 1 | ||||
-rw-r--r-- | src/objc/provider/MCONetService.mm | 5 |
5 files changed, 42 insertions, 1 deletions
diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj index 1c784073..bdd32c9b 100644 --- a/build-mac/mailcore2.xcodeproj/project.pbxproj +++ b/build-mac/mailcore2.xcodeproj/project.pbxproj @@ -28,6 +28,11 @@ 84AF9E89172DBC4700E60AA3 /* MCOMailProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */; }; 84AF9E8C172DBE4100E60AA3 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */; }; 84AF9E8D172DBE4100E60AA3 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */; }; + A24BED28174FF16E004AC144 /* MCOProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = A24BED27174FF0AC004AC144 /* MCOProvider.h */; }; + A24BED29174FF17C004AC144 /* MCOProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = A24BED27174FF0AC004AC144 /* MCOProvider.h */; }; + A24BED5317501641004AC144 /* MCONetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E8A172DBE4000E60AA3 /* MCONetService.h */; }; + A24BED541750168B004AC144 /* MCOMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E86172DBC4700E60AA3 /* MCOMailProvider.h */; }; + A24BED551750169C004AC144 /* MCOMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 843EE409172DD5B900C882AA /* MCOMailProvidersManager.h */; }; C07AD5D7FD82F8ACAB576231 /* NSError+MCO.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C07AD44B013BB42A240B4F04 /* NSError+MCO.h */; }; C07AD99B2E2054C684DB8FF6 /* NSError+MCO.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07ADFE43E22B38EFF23ADB5 /* NSError+MCO.mm */; }; C07ADC28B83E7959BF114D46 /* MCOIMAPSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07AD057D3C8FBDC7AC95733 /* MCOIMAPSession.mm */; }; @@ -674,6 +679,7 @@ dstPath = include/MailCore; dstSubfolderSpec = 16; files = ( + A24BED29174FF17C004AC144 /* MCOProvider.h in CopyFiles */, 843EE411172DDF5100C882AA /* MCProvider.h in CopyFiles */, 843EE412172DDF5100C882AA /* MCMailProvidersManager.h in CopyFiles */, 843EE413172DDF5100C882AA /* MCMailProvider.h in CopyFiles */, @@ -853,6 +859,10 @@ dstPath = include/MailCore; dstSubfolderSpec = 16; files = ( + A24BED551750169C004AC144 /* MCOMailProvidersManager.h in CopyFiles */, + A24BED541750168B004AC144 /* MCOMailProvider.h in CopyFiles */, + A24BED5317501641004AC144 /* MCONetService.h in CopyFiles */, + A24BED28174FF16E004AC144 /* MCOProvider.h in CopyFiles */, 843EE415172DDF5F00C882AA /* MCProvider.h in CopyFiles */, 843EE416172DDF5F00C882AA /* MCMailProvidersManager.h in CopyFiles */, 843EE417172DDF5F00C882AA /* MCMailProvider.h in CopyFiles */, @@ -1034,6 +1044,7 @@ 84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MCOMailProvider.mm; path = provider/MCOMailProvider.mm; sourceTree = "<group>"; }; 84AF9E8A172DBE4000E60AA3 /* MCONetService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCONetService.h; path = provider/MCONetService.h; sourceTree = "<group>"; }; 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MCONetService.mm; path = provider/MCONetService.mm; sourceTree = "<group>"; }; + A24BED27174FF0AC004AC144 /* MCOProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCOProvider.h; sourceTree = "<group>"; }; C07AD057D3C8FBDC7AC95733 /* MCOIMAPSession.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCOIMAPSession.mm; sourceTree = "<group>"; }; C07AD44B013BB42A240B4F04 /* NSError+MCO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+MCO.h"; sourceTree = "<group>"; }; C07ADFE43E22B38EFF23ADB5 /* NSError+MCO.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSError+MCO.mm"; sourceTree = "<group>"; }; @@ -1453,6 +1464,7 @@ 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */, 843EE409172DD5B900C882AA /* MCOMailProvidersManager.h */, 843EE40A172DD5B900C882AA /* MCOMailProvidersManager.mm */, + A24BED27174FF0AC004AC144 /* MCOProvider.h */, ); name = provider; sourceTree = "<group>"; diff --git a/src/core/imap/MCIMAPSession.cc b/src/core/imap/MCIMAPSession.cc index d860d85c..b078391d 100644 --- a/src/core/imap/MCIMAPSession.cc +++ b/src/core/imap/MCIMAPSession.cc @@ -759,7 +759,13 @@ void IMAPSession::selectIfNeeded(String * folder, ErrorCode * pError) if (* pError != ErrorNone) return; - if (mState == STATE_LOGGEDIN) { + if (mState == STATE_SELECTED) { + MCAssert(mCurrentFolder != NULL); + if (mCurrentFolder->caseInsensitiveCompare(folder) != 0) { + select(folder, pError); + } + } + else if (mState == STATE_LOGGEDIN) { select(folder, pError); } else { diff --git a/src/objc/MCOProvider.h b/src/objc/MCOProvider.h new file mode 100644 index 00000000..09f2cb05 --- /dev/null +++ b/src/objc/MCOProvider.h @@ -0,0 +1,17 @@ +// +// MCOPROVIDER.h +// mailcore2 +// +// Created by Pushkar Singh on 5/24/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#ifndef _MAILCORE__MCOPROVIDER_h +#define _MAILCORE__MCOPROVIDER_h + + +#import <MailCore/MCONetService.h> +#import <MailCore/MCOMailProvider.h> +#import <MailCore/MCOMailProvidersManager.h> + +#endif diff --git a/src/objc/MCObjC.h b/src/objc/MCObjC.h index 0ed2520c..9c090273 100644 --- a/src/objc/MCObjC.h +++ b/src/objc/MCObjC.h @@ -18,6 +18,7 @@ #import <MailCore/MCORFC822.h> #import <MailCore/MCOPOP.h> #import <MailCore/MCOSMTP.h> +#import <MailCore/MCOProvider.h> #endif diff --git a/src/objc/provider/MCONetService.mm b/src/objc/provider/MCONetService.mm index 222daa15..2ba455aa 100644 --- a/src/objc/provider/MCONetService.mm +++ b/src/objc/provider/MCONetService.mm @@ -19,6 +19,11 @@ #define nativeType mailcore::NetService ++ (void) load +{ + MCORegisterClass(self, &typeid(nativeType)); +} + - (mailcore::Object *) mco_mcObject { return _netService; |